XL 2013 Changement port Ne pour imprimante sélectionner

jbgaillard

XLDnaute Nouveau
Bonjour,

N'étant pas vraiment familier avec le langage VBA, j'en appelle à votre aide.
Je cherche à imprimer des étiquettes à partir d'un bouton avec une macro associée. (cellules A1 à B3 de l'onglet Etiquettes dans l'exemple)
j'ai donc créer un code VBA mais j'ai deux problèmes:
- l'imprimante à utiliser (\\chuprnv3\i0983) n'est pas celle paramétrée par défaut sur l'ordinateur (\\chuprnv3\i0810)
- ces imprimantes étant en réseau le Ne00 associée change en fonction des utilisateurs je pense donc je n'ai pas d'adresse fixe comme par exemple \\chuprnv3\i0983 sur Ne05:
Ce Ne peut aller de Ne00 à Ne99

Voici le code VBA :

Sub Pvt1G()
Set Feuille = ActiveSheet
For aa = 0 To 99
Nom = "\\chuprnv3\i0983 sur Ne0' & aa & ':"
On Error Resume Next
Application.ActivePrinter = Nom
If ActivePrinter = Nom Then Exit For
Next
Application.ActivePrinter = Nom
Sheets("Etiquettes").Range("A1:B3").PrintOut , , 2
'on remet l'imprimante par défaut
For aa = 0 To 99
Nom = "\\chuprnv3\i0810 sur Ne0' & aa & ':"
On Error Resume Next
Application.ActivePrinter = Nom
If ActivePrinter = Nom Then Exit For
Next
Feuille.Select

End Sub


Merci d'avance pour votre aide
 
Solution
re,

au cas ou ce serait un problème de minuscules majuscules dans les noms d'imprimantes, le code modifié pour ignorer la casse et ne comparer que sur l'adresse.

Cordialement, @+
Code:
Sub Pvt1G()
Dim Mem_Imprim, Imprimante_en_Cours, Imprimantes_Utilisateur, ObjWMIService, Test_Imprim As Boolean
Mem_Imprim = Application.ActivePrinter
Set ObjWMIService = GetObject("winmgmts:" & "{impersonationLevel=impersonate}!\\.\root\cimv2")
Set Imprimantes_Utilisateur = ObjWMIService.ExecQuery("Select * from Win32_Printer")
For Each Imprimante_en_Cours In Imprimantes_Utilisateur
    If Left(LCase(Imprimante_en_Cours.Name), 16) = "\\chuprnv3\i0983" Then
        Test_Imprim = True
        On Error GoTo Gere_Erreurs...

Discussions similaires

Réponses
19
Affichages
2 K

Membres actuellement en ligne

Aucun membre en ligne actuellement.

Statistiques des forums

Discussions
312 165
Messages
2 085 880
Membres
103 009
dernier inscrit
dede972