patricktoulon
XLDnaute Barbatruc
bonjour a tous
on trouve diverses solutions pour imprimer un userform en pdf
aujourd'hui avec Windows 10 nous avons le WINDOWS PDF PRINTER ET !!!! nous pouvons l'avoir avec Windows 7 sous un autre nom(voir capture plus bas)
et il y a moult applications (virtual printer pdf) en gratuiciel sur la toile
le seul problème avec l'impression directe
c'est que la fonction printform fait appel a l'imprimante par défaut de windows ET NON !!! celle par défaut de excel
et bien voici une petite sub qui pourrait bien vous rendre service
elle vous propose tout les (virtual pdf printer) installées
l'argument usf etant un object userform
un petit exemple
dans le userform un bouton
résultat
taper le chiffre correspondant a celle que vous désirez
voila plus besoins de capturer paster sur sheets etc......
testé sur 2007 et 2013 windows 7 et 2016 pc portable windows 10
a+
on trouve diverses solutions pour imprimer un userform en pdf
aujourd'hui avec Windows 10 nous avons le WINDOWS PDF PRINTER ET !!!! nous pouvons l'avoir avec Windows 7 sous un autre nom(voir capture plus bas)
et il y a moult applications (virtual printer pdf) en gratuiciel sur la toile
le seul problème avec l'impression directe
c'est que la fonction printform fait appel a l'imprimante par défaut de windows ET NON !!! celle par défaut de excel
et bien voici une petite sub qui pourrait bien vous rendre service
elle vous propose tout les (virtual pdf printer) installées
VB:
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
un petit exemple
dans le userform un bouton
VB:
Private Sub CommandButton1_Click()
impressionForm Me 'me.printform
End Sub
taper le chiffre correspondant a celle que vous désirez
voila plus besoins de capturer paster sur sheets etc......
testé sur 2007 et 2013 windows 7 et 2016 pc portable windows 10
a+