J'ai la macro suivante qui fonctionne très bien pour imprimer la
feuille en cours sur une imprimante couleur et qui revient directement
sur mon imprimante active (merci au forum et à ses archives).
Sub Imprime_Couleur()
'Modifie l'imprimante
Dim Defaut_Impr
Defaut_Impr = Application.ActivePrinter
Application.ActivePrinter = "\\BA\Dell 3000 CN RDC Gauche sur
Ne01:"
'Imprime
ActiveSheet.PrintOut Copies:=1, Collate:=True
'Remet l'imprimante active au début
Application.ActivePrinter = Defaut_Impr
End Sub
J'utilise la même technique dans de nombreuses autres macros en
modifiant parfois légèrement le code.
Mon problème est le suivant : mon ordinateur a été ré-installé et
l'imprimante couleur n'est plus sur le même "port" : No01 au lieu de
Ne03. De plus, à l'avenir le nom de cette imprimante peut changer...
Comme je n'ai pas très envie de changer dans toutes mes macros à chaque
fois, je voudrais faire la chose suivante : saisir dans une cellule de
mon classeur "Perso.xls" les références de l'imprimante :
"\\BA\Dell 3000 CN RDC Gauche sur Ne01:"
Faire appel directement à cette cellule pour définir l'imprimante. De
cette manière, à l'avenir je n'aurais que cette cellule à modifier.
Sub Imprime_Couleur()
Dim Imprimante As String
Imprimante = Workbooks("Perso.xls").Sheets("Feuil1").[C3].Value
'Modifie l'imprimante
Dim Defaut_Impr
Defaut_Impr = Application.ActivePrinter
Application.ActivePrinter = Imprimante
Le code bloque sur cette dernière ligne : la méthode 'ActivePrinter'
de l'objet '_Application' a échoué. Pourtant une Msgbox placée avant le
problème m'indique bien les coordonnées de l'imprimante comme défini
ci-dessus (encadré par les " ").
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
JacquesH
Solution trouvée :
J'ai écrit : BADell 3000 CN RDC Gauche sur Ne01: dans une cellule de mon fichier "Perso.xls" et maintenant la macro fonctionne. En fait, c'était les "" qui posaient problème.
Sub Imprime_Couleur_JH() Application.ScreenUpdating = False Dim Imprimante As String Imprimante = Workbooks("Perso.xls").Sheets("Feuil1").[C3].Value
'Modifie l'imprimante Dim Defaut_Impr Defaut_Impr = Application.ActivePrinter
'Remet l'imprimante par défaut Application.ActivePrinter = Defaut_Impr
End Sub
Merci à tous ceux qui ont phosphoré sur mon premier message.
Jacques
Bonjour à toutes et tous,
J'ai la macro suivante qui fonctionne très bien pour imprimer la feuille en cours sur une imprimante couleur et qui revient directement sur mon imprimante active (merci au forum et à ses archives).
Sub Imprime_Couleur() 'Modifie l'imprimante Dim Defaut_Impr Defaut_Impr = Application.ActivePrinter Application.ActivePrinter = "BADell 3000 CN RDC Gauche sur Ne01:" 'Imprime ActiveSheet.PrintOut Copies:=1, Collate:=True 'Remet l'imprimante active au début Application.ActivePrinter = Defaut_Impr End Sub
J'utilise la même technique dans de nombreuses autres macros en modifiant parfois légèrement le code. Mon problème est le suivant : mon ordinateur a été ré-installé et l'imprimante couleur n'est plus sur le même "port" : No01 au lieu de Ne03. De plus, à l'avenir le nom de cette imprimante peut changer... Comme je n'ai pas très envie de changer dans toutes mes macros à chaque fois, je voudrais faire la chose suivante : saisir dans une cellule de mon classeur "Perso.xls" les références de l'imprimante : "BADell 3000 CN RDC Gauche sur Ne01:" Faire appel directement à cette cellule pour définir l'imprimante. De cette manière, à l'avenir je n'aurais que cette cellule à modifier.
Sub Imprime_Couleur() Dim Imprimante As String Imprimante = Workbooks("Perso.xls").Sheets("Feuil1").[C3].Value
'Modifie l'imprimante Dim Defaut_Impr Defaut_Impr = Application.ActivePrinter
Application.ActivePrinter = Imprimante
Le code bloque sur cette dernière ligne : la méthode 'ActivePrinter' de l'objet '_Application' a échoué. Pourtant une Msgbox placée avant le problème m'indique bien les coordonnées de l'imprimante comme défini ci-dessus (encadré par les " ").
Merci de votre aide.
Jacques
Solution trouvée :
J'ai écrit : \BADell 3000 CN RDC Gauche sur Ne01:
dans une cellule de mon fichier "Perso.xls" et maintenant la macro
fonctionne. En fait, c'était les "" qui posaient problème.
Sub Imprime_Couleur_JH()
Application.ScreenUpdating = False
Dim Imprimante As String
Imprimante = Workbooks("Perso.xls").Sheets("Feuil1").[C3].Value
'Modifie l'imprimante
Dim Defaut_Impr
Defaut_Impr = Application.ActivePrinter
'Remet l'imprimante par défaut
Application.ActivePrinter = Defaut_Impr
End Sub
Merci à tous ceux qui ont phosphoré sur mon premier message.
Jacques
Bonjour à toutes et tous,
J'ai la macro suivante qui fonctionne très bien pour imprimer la
feuille en cours sur une imprimante couleur et qui revient directement
sur mon imprimante active (merci au forum et à ses archives).
Sub Imprime_Couleur()
'Modifie l'imprimante
Dim Defaut_Impr
Defaut_Impr = Application.ActivePrinter
Application.ActivePrinter = "\BADell 3000 CN RDC Gauche sur Ne01:"
'Imprime
ActiveSheet.PrintOut Copies:=1, Collate:=True
'Remet l'imprimante active au début
Application.ActivePrinter = Defaut_Impr
End Sub
J'utilise la même technique dans de nombreuses autres macros en
modifiant parfois légèrement le code.
Mon problème est le suivant : mon ordinateur a été ré-installé et
l'imprimante couleur n'est plus sur le même "port" : No01 au lieu de
Ne03. De plus, à l'avenir le nom de cette imprimante peut changer...
Comme je n'ai pas très envie de changer dans toutes mes macros à
chaque fois, je voudrais faire la chose suivante : saisir dans une
cellule de mon classeur "Perso.xls" les références de l'imprimante :
"\BADell 3000 CN RDC Gauche sur Ne01:"
Faire appel directement à cette cellule pour définir l'imprimante.
De cette manière, à l'avenir je n'aurais que cette cellule à modifier.
Sub Imprime_Couleur()
Dim Imprimante As String
Imprimante = Workbooks("Perso.xls").Sheets("Feuil1").[C3].Value
'Modifie l'imprimante
Dim Defaut_Impr
Defaut_Impr = Application.ActivePrinter
Application.ActivePrinter = Imprimante
Le code bloque sur cette dernière ligne : la méthode 'ActivePrinter' de
l'objet '_Application' a échoué. Pourtant une Msgbox placée avant le
problème m'indique bien les coordonnées de l'imprimante comme défini
ci-dessus (encadré par les " ").
J'ai écrit : BADell 3000 CN RDC Gauche sur Ne01: dans une cellule de mon fichier "Perso.xls" et maintenant la macro fonctionne. En fait, c'était les "" qui posaient problème.
Sub Imprime_Couleur_JH() Application.ScreenUpdating = False Dim Imprimante As String Imprimante = Workbooks("Perso.xls").Sheets("Feuil1").[C3].Value
'Modifie l'imprimante Dim Defaut_Impr Defaut_Impr = Application.ActivePrinter
'Remet l'imprimante par défaut Application.ActivePrinter = Defaut_Impr
End Sub
Merci à tous ceux qui ont phosphoré sur mon premier message.
Jacques
Bonjour à toutes et tous,
J'ai la macro suivante qui fonctionne très bien pour imprimer la feuille en cours sur une imprimante couleur et qui revient directement sur mon imprimante active (merci au forum et à ses archives).
Sub Imprime_Couleur() 'Modifie l'imprimante Dim Defaut_Impr Defaut_Impr = Application.ActivePrinter Application.ActivePrinter = "BADell 3000 CN RDC Gauche sur Ne01:" 'Imprime ActiveSheet.PrintOut Copies:=1, Collate:=True 'Remet l'imprimante active au début Application.ActivePrinter = Defaut_Impr End Sub
J'utilise la même technique dans de nombreuses autres macros en modifiant parfois légèrement le code. Mon problème est le suivant : mon ordinateur a été ré-installé et l'imprimante couleur n'est plus sur le même "port" : No01 au lieu de Ne03. De plus, à l'avenir le nom de cette imprimante peut changer... Comme je n'ai pas très envie de changer dans toutes mes macros à chaque fois, je voudrais faire la chose suivante : saisir dans une cellule de mon classeur "Perso.xls" les références de l'imprimante : "BADell 3000 CN RDC Gauche sur Ne01:" Faire appel directement à cette cellule pour définir l'imprimante. De cette manière, à l'avenir je n'aurais que cette cellule à modifier.
Sub Imprime_Couleur() Dim Imprimante As String Imprimante = Workbooks("Perso.xls").Sheets("Feuil1").[C3].Value
'Modifie l'imprimante Dim Defaut_Impr Defaut_Impr = Application.ActivePrinter
Application.ActivePrinter = Imprimante
Le code bloque sur cette dernière ligne : la méthode 'ActivePrinter' de l'objet '_Application' a échoué. Pourtant une Msgbox placée avant le problème m'indique bien les coordonnées de l'imprimante comme défini ci-dessus (encadré par les " ").