Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Imprimer une UserForm en vba

1 réponse
Avatar
Versatile
Bonjour,
J'ai cr=E9=E9 une Userform avec du vba bien s=FBr et je voudrais permettre
l'impression de celle =E0 partir d'un bouton pr=E9sent sur la fen=EAtre.
Cela est rendu possible via la commande :
UserForm1.PrintForm
Cela marche bien mais cela ne s'imprime qu'en mode portrait. Comment
forcer le mode paysage ?...
Merci.

1 réponse

Avatar
Starwing
Bonjour,

Essaie ceci de Tom Ogilvy:

Dans un module :

Declare Sub keybd_event Lib "user32" (ByVal bVk As Byte, _
ByVal bScan As Byte, ByVal dwFlags As Long, ByVal dwExtraInfo As Long)

Public Const VK_SNAPSHOT = &H2C

Sub Test()
UserForm1.Show
End Sub

Dans le code de l'userform (ici un bouton impression) :

Private Sub CommandButton1_Click()
keybd_event VK_SNAPSHOT, 0, 0, 0
Workbooks.Add
Application.Wait Now + TimeValue("00:00:01")
ActiveSheet.PasteSpecial Format:="Bitmap", Link:úlse,
DisplayAsIcon:úlse
ActiveSheet.Range("A1").Select
Activesheet.PageSetup.Orientation = xlLandscape
ActiveWindow.SelectedSheets.PrintOut Copies:=1
ActiveWorkbook.Close False
End Sub

Starwing

"Versatile" a écrit dans le message de news:

Bonjour,
J'ai créé une Userform avec du vba bien sûr et je voudrais permettre
l'impression de celle à partir d'un bouton présent sur la fenêtre.
Cela est rendu possible via la commande :
UserForm1.PrintForm
Cela marche bien mais cela ne s'imprime qu'en mode portrait. Comment
forcer le mode paysage ?...
Merci.