Forum - Questions sur Access - Définir une imprimante par défaut
le 10/03/2018 : 16:40
par possible924
visiteur
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
--------
le 11/03/2018 : 02:07
par 3Stone
Administrateur
--------
le 11/03/2018 : 08:39
par possible924
visiteur
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
--------
le 12/03/2018 : 13:15
par 3Stone
Administrateur
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)
--------
le 12/03/2018 : 14:12
par possible924
visiteur
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)
--------
le 04/04/2018 : 19:32
par 3Stone
Administrateur
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)
--------
le 06/04/2018 : 07:22
par possible924
visiteur
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
Rectifier message Clôturer sujet Remonter