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

Méthode PrintForm - paramétrable ?

2 réponses
Avatar
Stéphan DuQuébec
Deux questions dans une seule et même journée......

J'ai vu dans le module d'aide que la méthode PrintForm puise dans le panneau
de config. pour les paramètres d'impression par défaut. Mais par VBA, y
a-t-il moyen de spécifier des intrants (exemples: imprimante autre que celle
par défaut, impression en Landscape, en Letter8.5X11) comme c'est possible
lors d'un PrintOut d'une région sélectionnée dans la feuille active.

Avec l'éditeur de macros, je tente de récupérer le code racollé à une
impression d'une SelectedRegion pour la méthode de PrintForm mais sans succès.

Mission impossible ou mauvaise manière de procéder ?

Merci.

2 réponses

Avatar
michdenis
Bonjour Stéphane,

Pour imprimer un formulaire, la méthode Userform1.print ... ne laisse pas beaucoup de paramètres à définir.

Voici une procédure de Michel Perron sur le sujet :


'-----------------------------------------
Impression en mode paysage par classeur masqué:
'Déclaration des API dans le haut du module
Private Declare Function OpenClipboard& Lib "user32" (ByVal hwnd&)
Private Declare Function EmptyClipboard& Lib "user32" ()
Private Declare Function CloseClipboard& Lib "user32" ()
Private Declare Sub keybd_event Lib "user32" (ByVal bVk As Byte _
, ByVal bScan As Byte, ByVal dwFlags&, ByVal dwExtraInfo&)

Private Sub CommandButton1_Click() ' Impression écran
Me.Repaint
OpenClipboard 0&
EmptyClipboard
keybd_event &H2C, 0, 0&, 0&
CloseClipboard
DoEvents
Application.ScreenUpdating = False
Dim NewBook As String
Workbooks.Add: ActiveSheet.Paste
NewBook = ActiveWorkbook.Name
With ActiveSheet.PageSetup
.RightFooter = Me.Caption & " Le &D Page &P/&N"
.PrintGridlines = False
.Orientation = xlLandscape
.PaperSize = xlPaperA4
.Zoom = False
.FitToPagesWide = 1
.FitToPagesTall = False
End With
ActiveWindow.Visible = False
Application.ScreenUpdating = True
Me.Hide
On Error Resume Next
Windows(NewBook).SelectedSheets.PrintOut Copies:=1
Workbooks(NewBook).Close False
Me.Show
End Sub
'-----------------------------------------


Salutations!



"Stéphan DuQuébec" a écrit dans le message de news:

Deux questions dans une seule et même journée......

J'ai vu dans le module d'aide que la méthode PrintForm puise dans le panneau
de config. pour les paramètres d'impression par défaut. Mais par VBA, y
a-t-il moyen de spécifier des intrants (exemples: imprimante autre que celle
par défaut, impression en Landscape, en Letter8.5X11) comme c'est possible
lors d'un PrintOut d'une région sélectionnée dans la feuille active.

Avec l'éditeur de macros, je tente de récupérer le code racollé à une
impression d'une SelectedRegion pour la méthode de PrintForm mais sans succès.

Mission impossible ou mauvaise manière de procéder ?

Merci.
Avatar
Stéphan DuQuébec
Mes remerciements, Michdenis.

Bonne journée à vous, en cette belle journée suivant la queue de Katrina.....

Attention, gens hors Québec, ne pensez pas mal !!!!!!! La queue de Katrina
n'est pas celle que vous avez en tête !!!!!


Bonjour Stéphane,

Pour imprimer un formulaire, la méthode Userform1.print ... ne laisse pas beaucoup de paramètres à définir.

Voici une procédure de Michel Perron sur le sujet :


'-----------------------------------------
Impression en mode paysage par classeur masqué:
'Déclaration des API dans le haut du module
Private Declare Function OpenClipboard& Lib "user32" (ByVal hwnd&)
Private Declare Function EmptyClipboard& Lib "user32" ()
Private Declare Function CloseClipboard& Lib "user32" ()
Private Declare Sub keybd_event Lib "user32" (ByVal bVk As Byte _
, ByVal bScan As Byte, ByVal dwFlags&, ByVal dwExtraInfo&)

Private Sub CommandButton1_Click() ' Impression écran
Me.Repaint
OpenClipboard 0&
EmptyClipboard
keybd_event &H2C, 0, 0&, 0&
CloseClipboard
DoEvents
Application.ScreenUpdating = False
Dim NewBook As String
Workbooks.Add: ActiveSheet.Paste
NewBook = ActiveWorkbook.Name
With ActiveSheet.PageSetup
..RightFooter = Me.Caption & " Le &D Page &P/&N"
..PrintGridlines = False
..Orientation = xlLandscape
..PaperSize = xlPaperA4
..Zoom = False
..FitToPagesWide = 1
..FitToPagesTall = False
End With
ActiveWindow.Visible = False
Application.ScreenUpdating = True
Me.Hide
On Error Resume Next
Windows(NewBook).SelectedSheets.PrintOut Copies:=1
Workbooks(NewBook).Close False
Me.Show
End Sub
'-----------------------------------------


Salutations!



"Stéphan DuQuébec" a écrit dans le message de news:

Deux questions dans une seule et même journée......

J'ai vu dans le module d'aide que la méthode PrintForm puise dans le panneau
de config. pour les paramètres d'impression par défaut. Mais par VBA, y
a-t-il moyen de spécifier des intrants (exemples: imprimante autre que celle
par défaut, impression en Landscape, en Letter8.5X11) comme c'est possible
lors d'un PrintOut d'une région sélectionnée dans la feuille active.

Avec l'éditeur de macros, je tente de récupérer le code racollé à une
impression d'une SelectedRegion pour la méthode de PrintForm mais sans succès.

Mission impossible ou mauvaise manière de procéder ?

Merci.