Afficher un message
Vieux 18/11/2005, 17h38   #10 (permalink)
Ti_
XLDnaute Impliqué
 
Avatar de Ti_
 
Date d'inscription: février 2005
Version Excel : Excel 2003 (PC)
Messages: 746
Par défaut 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).
__________________
Veriti
Ti_ est déconnecté   Réponse avec citation