XL 2013 Bouton impression avec choix de l'imprimante

Ic0ne1300

XLDnaute Nouveau
Bonjour à tous !

Alors voilà, sur mon excel j'ai deux feuilles, et chacune des feuilles nécessitent une imprimante différente.
Il me faudrait un bouton sur chaque feuille qui imprime directement avec l'imprimante prévu à cet effet sans devoir changer l'imprimante à chaque fois

Pour le moment j'ai fait le code suivant :

Sub Bouton1_Cliquer()

ActiveWindow.SelectedSheets.PrintOut Copies:=1, Collate:=True, _
IgnorePrintAreas:=False
End Sub


Mais évidemment ce code ne me permet pas de définir une imprimante précisément, ce code imprime avec l'imprimante par défaut

Pouvez-vous m'aider svp ?
icon_biggrin.gif
 

sylvanu

XLDnaute Barbatruc
Supporter XLD
Bonjour Icone,
Essayez d'utiliser Application.ActivePrinter.
L'enregistreur de macro donne pour une impression PDF ou sur mon imprimante :
VB:
Sub Macro1()
' Macro1 Macro
    Application.ActivePrinter = "Microsoft Print to PDF sur Ne01:"
    Range("I12").Select
End Sub
Sub Macro2()
' Macro2 Macro
    Application.ActivePrinter = "HP79BAC6 (HP Deskjet 3050A J611 series) sur Ne02:"
    Range("I14").Select
End Sub
L'enregistreur vous donnera la bonne syntaxe en fonction de vos imprimantes.
 

Ic0ne1300

XLDnaute Nouveau
Bonjour, merci de votre réponse, pouvez- vous m'expliquer comment avoir le nom de l'imprimante exacte, parce que j'essaye avec l'enregistreur de macro, je clique sur mon imprimante dans fichier imprimer, puis quand je retourne dans ma macro je n'ai toujours pas le nom de l'imprimante...
 

sylvanu

XLDnaute Barbatruc
Supporter XLD
Bonjour,
J'ai simplement fait Enregistrer une macro, puis Imprimer.
J'ai choisi mon imprimante. J'ai attendu que le nom de l'imprimante s'affiche puis fait Fermer. J'ai obtenu ça :
VB:
Sub Macro5()
'
' Macro5 Macro
    Application.ActivePrinter = "HP79BAC6 (HP Deskjet 3050A J611 series) sur Ne02:"
End Sub
ou essayez cette macro, elle donne le nom de l'imprimante acrive :
VB:
Sub Macro6()
    MsgBox Left(Application.ActivePrinter, _
    InStr(Application.ActivePrinter, "sur") - 1)
End Sub
( https://www.generation-nt.com/reponses/nom-039-imprimante-active-sous-vba-entraide-824231.html )
 

Discussions similaires

Réponses
4
Affichages
540

Statistiques des forums

Discussions
314 499
Messages
2 110 247
Membres
110 711
dernier inscrit
chmessi