Bonjour
Un code de l'excellent (regretté) MONSIEUR Ti
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 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
Comme cela tu as un preview de ton Userform que tu peux ajuster comme il te semble
Bonne journée