VBA et zone d'impression

Publié le par AiSpirit

Voilà, un copain d'un de mes frères m'a demandé un script VBA (macro Excel).
Alors
1) je n'utilise pas Excel
2) je connais encore moins les macros (mais VB oui ==> :D || :(, à vous de voter !)

Par contre, ma geek attitude fais que j'ai pris du temps sur ce pont pour m'y atteler. Alors, pourquoi pas en faire profiter le plus de monde

Le problème


C'est à dire : imprimer de la cellule B1 à  P20.
La valeur "$P$20" peut changer mais elle sera toujours inscrite dans la cellule C1. La valeur B1 est fixe.



La solution

Sub Print_Area()

    Dim My_Range As String

    On Error Resume Next 'enables error handling

    My_Range = Range("C1")

    ActiveSheet.PageSetup.PrintArea = Range("B1:" & My_Range).Address

    ActiveSheet.PageSetup.Orientation = xlLandscape

    ActiveWindow.SelectedSheets.PrintOut

    If Err > 0 Then MsgBox "Name or range specified is not valid."

End Sub


Vive les ActiveSheet, et vive l'impression en mode paysage.
Note : il est possible de remplacer le mode paysage par le mode portrait classique :


ActiveSheet.PageSetup.Orientation = xlPortrait



Des liens

THE lien, je dirais même : http://exceltips.vitalnews.com/E090_VBA_Examples.html

Un grand merci car cela m'a permis d'apprendre rapidement les bases des macros Excel (orienté VBA, bien sûr ;) )

Et quand même, un


Private Sub Workbook_Open()
 MsgBox "Hello"
End Sub

Pour s'amuser :D

 

Publicité
Pour être informé des derniers articles, inscrivez vous :
Commenter cet article