Re:Imprimer Userform en mode paysage
La macros suivante permet de voir l'image du formulaire en printpreview :
Private Sub CommandButton2_Click()
Dim Sh As Shape
keybd_event vbKeySnapshot, 1, 0&, 0&
DoEvents
Application.ScreenUpdating = False
With Feuil3
'par précaution, pour faire le ménage
For Each Sh In .Shapes
Sh.Delete
Next Sh
.Paste .Range('A1')
'si la feuille était masquée
.Visible = xlSheetVisible
'obligatoire avant un PrintPreview
Me.Hide
.PrintPreview
.Shapes(1).Delete
.Visible = xlSheetHidden
'userform à nouveau visile
Me.Show
End With
Application.ScreenUpdating = True
End Sub
Au passage, elle nettoie la feuille des images précédentes qui n'auraient pas été effacées.
En fait, à mon sens le printpreview n'est utile qu'une seule fois, pour définir les options d'impression de ta feuille, en particulier joue sur le zoom pour faire coincider au mieux ton userform aux dimensions de la page imprimée. Ensuite, une fois que c'est fait, tu n'auras plus à y retoucher, et tu pourras alors passer directement au PrintOut (sans avoir à masquer puis réafficher le userform, ce qui est plus simple).
|