Bonjour,
J'ai utilisé un sub (trouvé sur ce forum) pour afficher les imprimantes dispos afin d'imprimer un userform en pdf.
Sub impressionForm(usf)
Dim x, tbl(), i, texte
x = 0
With CreateObject("WScript.Network")
Set imprimantes = .EnumPrinterConnections
For i = 0 To imprimantes.Count - 1
If InStr(LCase(imprimantes(i)), "pdf") > 0 Then ReDim Preserve tbl(0 To x): tbl(x) = imprimantes(i): texte = texte & x & "--" & imprimantes(i) & vbCrLf: x = x + 1
Next
i = InputBox("choissisez une imprimante " & vbCrLf & texte, "impression userform")
If i <> "" Then
.SetDefaultPrinter tbl(Val(i))
usf.printform
End If
End With
End Sub
Puis ceci pour le bouton d'impression:
Private Sub CommandButton1_Click()
impressionForm Me
End Sub
Cela fonctionne super bien, sauf que, mon userform contient un multipages de 3 pages. La macro n'imprime que la page active ou le bouton impression est situé. Il y a t'il une façon d'imprimer les 3 pages? J'ai aussi essayé avec un userform et un scrollbar mais idem, cela n'imprime qu'une partie de mon userform.
J'avais trouvé ceci pour l'impression des 3 pages, mais je ne trouve pas comment l'intégrer dans le code.
Private Sub CommandButton1_Click()
For i = 0 To 3
MultiPage1.Value = i
Do: DoEvents: Loop Until MultiPage1.Value = i
Me.PrintForm
Next
End Sub
Merci beaucoup!