Printform

polik

XLDnaute Junior
Bonjour à tous,

J'ai fouillé (peut-être pas efficacement) mais je n'ai pas trouvé le code pour compléter mon code et faire en sorte que mon userform s'imprime en mode paysage...

voici mon code (d'une complexité alarmante :D):
Private Sub CommandButton2_Click()
UserForm1.PrintForm
End Sub

Printer.Orientation = vbPRORLandscape'ne fonctionne pas !!

Vous avez des idées ?

Un grand merci d'avance,

Polik
 

MichelXld

XLDnaute Barbatruc
Re : Printform

bonjour

Tu peux tester cette procédure :

Code:
Option Explicit
 
Private Declare Sub keybd_event Lib "user32" ( _
        ByVal bVk As Byte, ByVal bScan As Byte, ByVal dwFlags As Long, _
        ByVal dwExtraInfo As Long)
 
Private Sub CommandButton1_Click()
    Dim Ws As Worksheet
    
    'Copie d'écran de la forme active
    keybd_event vbKeySnapshot, 1, 0&, 0&
    DoEvents
    
    'Ajoute une feuille pour coller l'image de la forme
    Set Ws = Sheets.Add
    Ws.Paste
    
    'impression centrée dans la page et en mode paysage
    With Ws
        .PageSetup.CenterHorizontally = True
        .PageSetup.CenterVertically = True
        .PageSetup.Orientation = xlLandscape
        .PrintOut
    End With
End Sub


bon après midi
michel
 

Discussions similaires

Réponses
2
Affichages
247
Réponses
3
Affichages
244