Forum - Questions sur Access - Définir une imprimante par défaut


 2 membres
Connectés : ( personne )

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

  

Réponse n° 1
--------
le 11/03/2018 02:07
par 3Stone
 
Administrateur

Bonjour,

Tu peux utiliser la fonction d'écrite dans cet article...

Cordialement,

Pierre (3Stone)

  
Réponse n° 2
--------
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

  
Réponse n° 3
--------
le 11/03/2018 08:56
par possible924
 
visiteur

Hélas, non rien ne marche !

Ni "ChoixImprimante" ni "SetDefaultPrinter"

J'ai du rater quelque chose !

  
Réponse n° 4
--------
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)

  
Réponse n° 5
--------
le 12/03/2018 14:12
par possible924
 
visiteur

 Bonjour,

Je reviens sur mon problème de choix d'imprimante sur lequel je bute désespérément
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)

Je commence par stocker le nom de l'imprimante courante pour la redéfinir après mes impression en imprimante par défaut. Je sélectionne "Microsoft Print to PDF" en imprimante active pour faire mes impressions et je remet l'imprimante dont j'ai stocké le nom en imprimante par défaut. Ca fonctionne très bien, l'imprimante "Microsoft Print to PDF" devient l'imprimante par défaut,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é. Après l'imprimante par défaut redevient bien l'imprimante courante. Peut être faudrait t'il mettre une temporisation entre le choix de l'imprimante et l'ouverture de l'état ? mais je ne connais pas la syntaxe ! Je bute sur ce problème depuis un moment et votre aide serait vraiment la bienvenue. Pierre
  
Réponse n° 6
--------
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)

  
Réponse n° 7
--------
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

  
sujet actif   sujet clos   Important!   Nouveau  
Rectifier message   Clôturer sujet   Remonter sujet