Forum - Questions sur Access - Définir une imprimante par défaut
Bonjour à tous,
Je souhaite imprimer au format pdf une centaine de documents (factures), .
Le mieux serait peut être de définir l'imprimante pdf comme imprimante par défaut puis de lancer l'impression des documents.
Une fois les documents imprimés, je souhaiterais remettre par défaut l'imprimante par défaut précédente.
Je ne sais pas comment régler ce problème en VBA
Merci par avance pour votre aide
Pierre
Bonjour et merci pour la réponse
Je vais coller du code pour montrer ce que j'ai fait, mais je n'arrive pas à coller le code entre balises en utilisant le bouton "<>"
Dans mon application, j'ai bien collé le code à placer dans le module général, puis j'ai fait cela :
Private Sub EnvoyerAvec_Click() Dim UsualPrinter As String UsualPrinter = fnActualPrinter() SetDefaultPrinter "Microsoft Print to PDF" 'ChoixImprimante "Microsoft Print to PDF" DoCmd.OpenReport "E_Facture", acViewNormal, , "[CléP_Facture]=" & 17310 SetDefaultPrinter UsualPrinter
"ChoixImprimante" marche très bien, mais comme je dois imprimer une centaine de documents, je préférerais imprimer sur l'imprimante PDF définie par défaut et une fois le travail terminé redéfinir par défaut l'imprimante usuelle.
Mais "SetDefaultPrinter" ne fonctionne pas ou je n'ai pas su le faire fonctionner !
Peut être aves vous une solution ? Merci par avance Pierre
Bonjour,
Bien sûr que si, que cela fonctionne !
mais je n'arrive pas à coller le code entre balises en utilisant le bouton "<>"
La où tu souhaite coller du code, il faut clique sur les "<>" puis écrire ou coller le texte dans la fenêtre qui s'ouvre et "Ok"
Je vais coller du code pour montrer ce que j'ai fait
Il ne faut pas bricoller ce que l'on ne comprend pas, mais faire exactement ce qui est expliqué... et cela fonctionne.
Si tu ne comprends pas, dis le...
Cordialement,
Pierre (3Stone)
Bonjour,
Private Sub EnvoyerAvec_Click() Dim UsualPrinter As String UsualPrinter = fnActualPrinter() ChoixImprimante "Microsoft Print to PDF" 'Mettre une temporisation ? DoCmd.OpenReport "E_Facture", acViewNormal, , "[CléP_Facture]=" & 17310 Dim FactureName As String FactureName = "W:BasesIrisFacturesEnvoiMessagerie" & "Ma facture " & "17310" & "Du " & Format(Date, "dd, mm, yyyy") 'ChoixImprimante (UsualPrinter)
Bonjour,
Citation :
Ca fonctionne très bien, l'imprimante "Microsoft Print to PDF" devient l'imprimante par défaut,
Donc, le code fonctionne correctement !
Citation :
mais l'impression se fait toujours sur l'imprimante précédente,Access n'a pas vu que l'imprimante par défaut avait changé.
Tu as probablement défini une imprimante dans ton état...
L'état en mode création, tu affiches la mise en page et tu regardes si tu as coché "Utiliser une imprimante spécifique".
Si c'est le cas, tu coche "Imprimante par défaut".
Cordialement,
Pierre (3Stone)
L'état est bien configuré pour une impression sur l'imprimante par défaut.
Mais à vrai dire, je n'ai pas eu besoin de changer l'imprimante par défaut, j'ai utilisé le code ci après trouvé sur ce forum :
DoCmd.OutputTo acOutputReport, "E_Facture", "PDFFormat(*.pdf)", Strfile, False, "", , acExportQualityScreen
Merci pour ton aide
Pierre