XL 2013 Bouton impression avec choix de l'imprimante

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

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
 
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.
 
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...
 
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 )
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Réponses
10
Affichages
547
Retour