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