Userform CheckBox pour choisir imprimante

  • Initiateur de la discussion Initiateur de la discussion bloomby
  • Date de début Date de début

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 !

bloomby

XLDnaute Occasionnel
Bonjour à tous

Dans le userform, je veux créer un If avec l'aide d'un checkbox.
Par défaut c'est noir et blanc donc "\\se0411\QA01-9544403 sur Ne04:"

Par contre, je veux pouvoir cocher Couleur et à ce moment c'est
"\\se0411\QA01-9544404 sur Ne04:" qu'il doit être sélectionné

Voici mon code (seulement avec l'imprimante noire et blanc)

HTML:
Sub Page1()
    Sheets("Page1").Select
    Range("A1:BR53").Select
    Range("BR53").Activate
Application.ActivePrinter = "\\se0411\QA01-9544403 sur Ne04:"
ActiveWindow.SelectedSheets.PrintOut Copies:=1, ActivePrinter:= _
        "\\se0411\QA01-9544403 sur Ne04:", Collate:=True

Sub Page2()
    Sheets("Page2").Select
    Range("A1:BR53").Select
    Range("BR53").Activate
Application.ActivePrinter = "\\se0411\QA01-9544403 sur Ne04:"
ActiveWindow.SelectedSheets.PrintOut Copies:=1, ActivePrinter:= _
        "\\se0411\QA01-9544403 sur Ne04:", Collate:=True


Sub Page3()
    Sheets("Page3").Select
    Range("A1:BR53").Select
    Range("BR53").Activate
Application.ActivePrinter = "\\se0411\QA01-9544403 sur Ne04:"
ActiveWindow.SelectedSheets.PrintOut Copies:=1, ActivePrinter:= _
        "\\se0411\QA01-9544403 sur Ne04:", Collate:=True

merci
 
Re : Userform CheckBox pour choisir imprimante

Bonjour Bloomby 🙂,
Pas tout suivi de la question 😕. Si tu as un CheckBox, il te suffit d'un test si chekbox true ou false pour décider de Application.ActivePrinter...
Par contre, ton imprimante semble en réseau. Si tu lance l'application depuis un autre poste, tu risque des soucis car le port "Ne04" dépends de l'ordre d'installation de tes imprimantes... Quand j'avais eu le souci, je l'avais contourné avec
Code:
On Error Resume Next
For I = 0 To 9
Application.ActivePrinter = \\se0411\QA01-9544403 sur Ne0" & "I" & ":"
Next I
On Error GoTo 0
Bon dimanche 😎
 
Re : Userform CheckBox pour choisir imprimante

Bonjour, tu peux lier ta case à cocher avec une cellule qui prendra alors la valeur VRAI si coché ou FAUX si pas coché. Tu peux alors faire ta formule conditionnelle à partir de ces cellules. Refais les mêmes macros pour les deux imprimantes et sur ton bouton imprimer, tu fais ta condition

Par exemple, si tu lie avec A1 et A2,

If range("A1").value = TRUE
Call Page1
Call Page2
Call Page3
Elseif range("A2").value = TRUE
Call page4
Call page5
call page6
Else
msgbox("Veuillez choisir une option pour l'impression")
End if
Exit sub
End sub

Simple comme formule et ça ne surcharge pas excel à traverser une série d'options inutiles dans tes macros d'impression. Si tu y tiens vraiment, incorpore tes conditions dans tes formules actuelles juste avant la commande pour imprimer.

Pour répondre à JNP, moi pour les applications réseau je fait un inputbox où je demande le nom d'utilisateur sur le réseau

Application.ActivePrinter = \\se0411\QA01-9544403 sur & inputbox("Quel est votre nom d'utilisateur sur ce réseau?") & ":"
 
Dernière édition:
Re : Userform CheckBox pour choisir imprimante

Bonjour Bloomby,
Une solution parmi d'autres...

Code:
Dim onglet
Sub imprime()
Dim couleur As String
 Sheets(onglet).Select
 Range("A1:BR53").Select
 Range("BR53").Activate
couleur = IIf(UserForm1.CheckBox1.Value = False, _
"\\se0411\QA01-9544403 sur Ne04:", _
"\\se0411\QA01-9544404 sur Ne04:")
Application.ActivePrinter = couleur
ActiveWindow.SelectedSheets.PrintOut Copies:=1, ActivePrinter:= _
couleur, Collate:=True
End Sub
Sub Page1()
onglet = "Page1"
imprime
End Sub
Sub Page2()
onglet = "Page2"
imprime
End Sub
Sub Page3()
onglet = "Page3"
imprime
End Sub
 
Re : Userform CheckBox pour choisir imprimante

Bonsoir à tous,

Bien d'accord avec youky pour une Sub imprime, simplement on peut écrire :

Code:
couleur = "\\se0411\QA01-954440" & 3 - UserForm1.CheckBox1.Value & " sur Ne04:"

Rappel : True renvoie -1 quand on le convertit en nombre.

A+
 
Re : Userform CheckBox pour choisir imprimante

Je m'incline Cher Job75,
L'idée ne m'avait même pas effleurée...
Chapeau....
La remarque de JNP me semble importante, je pense que l'ami Bloomby en tiendras compte dans sa macro.
bonne soirée
 
Re : Userform CheckBox pour choisir imprimante

Bonjour JNP,
en effet c'est très utilise d'incrémenter de 1 à 9 le reseau de l'imprimante
par contre, lorsque l'imprimante n'est pas utilisée par un autre utilisateur via le réseau cela fait 9 copie

Est-ce qu'il y aurait une solution pour éviter de multiplier les copies.

Merci Bloomby
 
Re : Userform CheckBox pour choisir imprimante

Bonjour Bloomby 🙂,
Le PrinOut doit se trouver en dehors de la boucle. La boucle sert à s'arrêter sur une imprimante disponible, comme ça, si 8 et 9 sont indisponible, c'est 7 qui reste sélectionné.
Code:
On Error Resume Next
For I = 0 To 9
Application.ActivePrinter = \\se0411\QA01-9544403 sur Ne0" & "I" & ":"
Next I
On Error GoTo 0
ActiveWindow.SelectedSheets.PrintOut Copies:=1, Collate:=True
Bonne journée 😎
 
Re : Userform CheckBox pour choisir imprimante

Bonjour JNP,
Je vais vérifier a nouveau car pour l'instant on dirait que la macro imprime
le fichier via le réseau 0, par la suite il l'imprime a nouveau sur 1, 2,3,4,5,6,7,8,9

Mais je vais vérifier à nouveau c'est peut-être un problème avec une autre variable de ma macro

merci Bloomby
 
- 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
Réponses
11
Affichages
784
  • Question Question
XL 2016 Imprimer
Réponses
1
Affichages
649
Réponses
1
Affichages
1 K
Retour