macro et imprimante

beatrice2fr

XLDnaute Nouveau
bonjour
je voudrai lancer une macro en fonction de l'imprimante par default qui est installé ( exemple lexmark x2250 ) . Il y a t'il un code dans ce sens.
merci
 

soenda

XLDnaute Accro
Re : macro et imprimante

Bonjour le fil, Jean-Marcel, Beatrice2fr

Essayes avec l'enregistreur de macro. C'est très pratique.
Exemple chez moi
Code:
Sub Macro1()
'
' Macro1 Macro
'
'
    Application.ActivePrinter = "Nom de mon imprimante sur Nxx::"
    ExecuteExcel4Macro "PRINT( ... etc )"
End Sub

A plus
 

beatrice2fr

XLDnaute Nouveau
Re : macro et imprimante

merci de ta reponse , mais en fait je cherche plutot a faire en sorte que :
si la lexmark est installé en imprimante par default
alors on lance la macro 1
sinon la macro 2.

c'est un peu le meme principe que de lancer une macro selon la valeur d'une cellule. mais je ne sais pas comment ecrire cela en vba.
 

beatrice2fr

XLDnaute Nouveau
Re : macro et imprimante

bonjour le forum
j'ai utuliser le code suivant mais je pense que " Application.ActivePrinter " ne convient pas

Code:
Private Sub Workbook_Open()
stImp = Application.ActivePrinter
If Dir(stImp) = "Lexmark 2250" Then
MsgBox ("tout va bien")
Else
MsgBox ("c'est pas bon ")
End If
End Sub
 

soenda

XLDnaute Accro
Re : macro et imprimante

Bonjour le fil, Jean-Marcel, Beatrice2fr


Attention : Une imprimante pour Windows est autre chose qu'un périphérique d'impression.

De ce fait un code du type :
' If Application.ActivePrinter = "Lexmark 2250" then ...
ne peut pas fonctionner.

L'instruction suivante te donnera le nom complet de l'imprimante active (au sens Windows du terme).
Code:
MsgBox Application.ActivePrinter
et tu pourras alors écrire
Code:
If Application.ActivePrinter = "[COLOR=green][B]Le nom complet de l'imprimante[/B][/COLOR]" Then
    MsgBox ("tout va bien")
Else
    MsgBox ("c'est pas bon ")
End If
A plus
 

beatrice2fr

XLDnaute Nouveau
Re : macro et imprimante

j'ai effectivement mis le nom complet et le resultat est que que vba trouve une erreur de syntaxe

Code:
If Dir (Application.ActivePrinter) = "Lexmark 2200 Series sur Ne02: Then
    MsgBox ("tout va bien")
Else
    MsgBox ("c'est pas bon ")
End If
End Sub
 

soenda

XLDnaute Accro
Re : macro et imprimante

Re,

j'ai effectivement mis le nom complet et le resultat est que que vba trouve une erreur de syntaxe
Oui, car tu as omis les guillemets à la fin du nom complet, (quant au Dir, c'est Dur de Dire ... :))
Code:
If Application.ActivePrinter = "Lexmark 2200 Series sur Ne02:[B][SIZE=3][COLOR=#ff0000]"[/COLOR][/SIZE][/B] Then ...
A plus
 
Dernière édition:

Statistiques des forums

Discussions
312 448
Messages
2 088 507
Membres
103 873
dernier inscrit
Sabin