changement d'imprimante

micky01

XLDnaute Occasionnel
Re boujour à tous,

Me revoila toujours avec mon fichier, mais cette fois pour un autre probleme :

J'aimerais pouvoir imprimer sur une imprimante qui est en réseau et qui n'est pas mon imprimante par défaut, du coup j'utilise :

Application.ActivePrinter = _
"\\XXX.XXX.local\HP Color LaserJet CM6040 MFP PCL 6 sur Ne07:"

Ma macro m'ouvre ensuite directement l'apercu avant impression...

Ceci marche lorsque je suis sur mon ordi, mais lorsque je passe sur l'ordi de ma collegue qui utilise également ce fichier via le serveur, ca ne marche plus :(
En effet, depuis son ordi, l'imprimante n'est plus sur Ne07 mais sur Ne04 :s
N'y a t'il pas un moyen de fonctionner via l'adresse IP de l'imprimante ou autre chose?

Merci
 

micky01

XLDnaute Occasionnel
Re : changement d'imprimante

Bonjour Pascal,

J'arrive décidément pas à faire fonctionner cet boucle :s
Je précise que je suis novice en VB et pour le moment, les erreurs qu'il me sort restent du chinois.

Imaginons que l'imprimante sur la quelle je veux imprimer le document en question se nomme :
\\sbs2003.XXX.local\HP Color LaserJet CM6040 MFP PCL 6 sur Ne0?

dois-je écrire ton code tel quel?

For aa = 0 To 9
Nom = '\\sbs2003.XXX.local\HP Color LaserJet CM6040 MFP PCL 6 sur Ne0'& aa & ':'
OnErrorResumeNext
Application.ActivePrinter = Nom
If ActivePrinter = Nom ThenExitFor
Next

Ou dois-je changer qqch?
 

PascalXLD

XLDnaute Barbatruc
Modérateur
Re : changement d'imprimante

re

essai en supprimant
\\sbs2003.XXX.local\
dans le nom

sinon histoire de voir comment cela se passe sur un autre poste
tu vas sur ce poste
tu ecris juste dans une cellule A1 dans un classeur vierge
tu lance l'enregistreur de macro tu fais fichier imrimer
tu choisis l'imprimante HP laser jet color
tu imprimes
puis tu coupes l'enregistreur de macro
et dans ton module tu verras comment la macro a rendu la partie du choix de l'imprimante
 

micky01

XLDnaute Occasionnel
Re : changement d'imprimante

Lorsque je fais ce que tu me dis, j'obtiens la même chose que sur mon ordinateur mais avec Ne04 au lieu de Ne07.
Il faut que je garde le \\sbs2003.XXX.local\ car l'imprimante est sur le réseau...
Lorsque je rentre ton code, il me dis que la variable aa n'est pas définie y'a t'il qqch d'autre à faire lors de l'écriture du code?
 

micky01

XLDnaute Occasionnel
Re : changement d'imprimante

c'est ce que j'ai fait, Il ne me met plus d'erreur, mais par contre, qd je lance la macro, il utilise mon imprimante actuelle par defaut :s (qui n'est pas du tout la bonne :()

Dim aa As Byte
Dim nom As String
For aa = 0 To 9
nom = "\\sbs2003.XXX.local\HP Color LaserJet CM6040 MFP PCL 6 sur Ne0" & aa & ":"
On Error Resume Next
Application.ActivePrinter = nom
If ActivePrinter = nom Then
End If
Exit For
Next
 

PascalXLD

XLDnaute Barbatruc
Modérateur
Re : changement d'imprimante

re


non tu peux laisser l'exit for mais il est mal placé et tu peux virer le end if en ecrivant ainsi

Dim aa As Byte
Dim nom As String
For aa = 0 To 9
nom = "\\sbs2003.XXX.local\HP Color LaserJet CM6040 MFP PCL 6 sur Ne0" & aa & ":"
On Error Resume Next
Application.ActivePrinter = nom
If ActivePrinter = nom Then Exit For
Next
 

Statistiques des forums

Discussions
312 485
Messages
2 088 815
Membres
103 971
dernier inscrit
abdazee