Excel/spécification/choix/imprimante/macro
Résolu
benji71
Messages postés
738
Date d'inscription
Statut
Membre
Dernière intervention
-
benji71 Messages postés 738 Date d'inscription Statut Membre Dernière intervention -
benji71 Messages postés 738 Date d'inscription Statut Membre Dernière intervention -
Bonjour à tous et ttes,
J'espère que vous allez bien et que votre journée se termine en beauté.
Je me permets de faire appel à vous, pour voir votre avis et suggestion sur un « problème » auquel je suis confronté.
Sur l'un des mes fichiers, je suis « parvenu » ( grâce à l'un d'entre vous qui se reconnaîtra et je l'en remercie) à mettre une macro visant à imprimer mes feuilles. Voici la macro :
Sub imprimer_()
Dim nmois As Long, mois As Long, année As Long, m As Long, saisie As String
saisie = InputBox("Nombre de mois à imprimer ?", "Nombre de mois", 3)
If IsNumeric(saisie) Then
nmois = CLng(saisie)
If nmois > 12 Then nmois = 12
mois = Month([A20])
année = Year([A20])
For m = 1 To nmois
'MsgBox ("impression de " & Format([A20], "mmm/yyyy"))
Worksheets("mcae_gril_prév.").PrintOut copies:=2
mois = mois Mod 12 + 1
année = année - (mois = 1)
[A20] = DateValue("01/" & mois & "/" & année)
Next m
Else
MsgBox ("Saisie non conforme")
End If
End Sub
Tout fonctionne à merveille..Mais pour imprimer à partir de mon pc j'ai le choix entre ; l'imprimante de mon bureau, l'imprimante couleur (hors de mon bureau) et le photocopieur (hors de mon bureau).
À chaque fois que je veux imprimer il m'envoi « par défaut » l'impression sur l'imprimante de mon bureau. Je dois donc pour imprimer sur l'imprimante couleur spécifié l'imprimante avant de lancer l'impression. Ma question est donc, est-il possible et si oui, comment ..de spécifié dans la macro l'imprimante qui doit être utilisée pour l'impression ?
J'imagine que cela doit être possible de le spécifié dans la macro ..Mais ou ? ...ça.. ?
L'un ou l'une d'entre vous peut-il/elle me renseigner ?
Merci de vos conseils et votre aide éventuelle.. .Bonne fin d'après-midi à tous.ttes...
Berni//
J'espère que vous allez bien et que votre journée se termine en beauté.
Je me permets de faire appel à vous, pour voir votre avis et suggestion sur un « problème » auquel je suis confronté.
Sur l'un des mes fichiers, je suis « parvenu » ( grâce à l'un d'entre vous qui se reconnaîtra et je l'en remercie) à mettre une macro visant à imprimer mes feuilles. Voici la macro :
Sub imprimer_()
Dim nmois As Long, mois As Long, année As Long, m As Long, saisie As String
saisie = InputBox("Nombre de mois à imprimer ?", "Nombre de mois", 3)
If IsNumeric(saisie) Then
nmois = CLng(saisie)
If nmois > 12 Then nmois = 12
mois = Month([A20])
année = Year([A20])
For m = 1 To nmois
'MsgBox ("impression de " & Format([A20], "mmm/yyyy"))
Worksheets("mcae_gril_prév.").PrintOut copies:=2
mois = mois Mod 12 + 1
année = année - (mois = 1)
[A20] = DateValue("01/" & mois & "/" & année)
Next m
Else
MsgBox ("Saisie non conforme")
End If
End Sub
Tout fonctionne à merveille..Mais pour imprimer à partir de mon pc j'ai le choix entre ; l'imprimante de mon bureau, l'imprimante couleur (hors de mon bureau) et le photocopieur (hors de mon bureau).
À chaque fois que je veux imprimer il m'envoi « par défaut » l'impression sur l'imprimante de mon bureau. Je dois donc pour imprimer sur l'imprimante couleur spécifié l'imprimante avant de lancer l'impression. Ma question est donc, est-il possible et si oui, comment ..de spécifié dans la macro l'imprimante qui doit être utilisée pour l'impression ?
J'imagine que cela doit être possible de le spécifié dans la macro ..Mais ou ? ...ça.. ?
L'un ou l'une d'entre vous peut-il/elle me renseigner ?
Merci de vos conseils et votre aide éventuelle.. .Bonne fin d'après-midi à tous.ttes...
Berni//
A voir également:
- Excel/spécification/choix/imprimante/macro
- Telecharger macro convertir chiffre en lettre excel - Télécharger - Tableur
- Liste déroulante de choix excel - Guide
- Word et excel gratuit - Guide
- Imprimer tableau excel sur une page - Guide
- Déplacer colonne excel - Guide
7 réponses
Re le forum
Pour imprimer par défaut sur une imprimante
Mytå
Pour imprimer par défaut sur une imprimante
Sub ChangePrinter() Dim sCurPrinter As String With Application sCurPrinter = .ActivePrinter ' Store current printer. .ActivePrinter = "HP LaserJet 4SI" ' Change Printers. ActiveDocument.PrintOut ' Print the active document. .ActivePrinter = sCurPrinter ' Set printer back to current. End With End Sub
Mytå
Bonjour myta,
je planche sur votre proposition et tente de trouver...l'application
merci pour la piste...
cdlmnt,
berni///
je planche sur votre proposition et tente de trouver...l'application
merci pour la piste...
cdlmnt,
berni///
ok...
je viens de comprendre... :-)
mais, si je peux me permettre j'aurais deux petits questions :
j'ai placé le : "If Application.Dialogs(xlDialogPrinterSetup).Show = True Then Feuil1.PrintOut" au mauvais endroit puisqu'il m'imprime les feuilles puis et me demande de choisir l'imprimante.. :-)
jusqu'ou dois-je remonter l'application ?
Sub imprimer_()
Dim nmois As Long, mois As Long, année As Long, m As Long, saisie As String
saisie = InputBox("Nombre de mois à imprimer ?", "Nombre de mois", 3)
If IsNumeric(saisie) Then
nmois = CLng(saisie)
If nmois > 12 Then nmois = 12
mois = Month([A20])
année = Year([A20])
For m = 1 To nmois
'MsgBox ("impression de " & Format([A20], "mmm/yyyy"))
Worksheets("mcae_gril_prév.").PrintOut copies:=2
mois = mois Mod 12 + 1
année = année - (mois = 1)
[A20] = DateValue("01/" & mois & "/" & année)
Next m
Else
MsgBox ("Saisie non conforme")
End If
If Application.Dialogs(xlDialogPrinterSetup).Show = True Then Feuil1.PrintOut
End Sub
est-ilpossible qu'il ne me pose pas la question mais que je mette ds la macro l'imprimante que je souhaite ? [ds ce cas ci l'imprimante est RICOH Aficio CL2000 RPCS]
cdlmnt
berni///
je viens de comprendre... :-)
mais, si je peux me permettre j'aurais deux petits questions :
j'ai placé le : "If Application.Dialogs(xlDialogPrinterSetup).Show = True Then Feuil1.PrintOut" au mauvais endroit puisqu'il m'imprime les feuilles puis et me demande de choisir l'imprimante.. :-)
jusqu'ou dois-je remonter l'application ?
Sub imprimer_()
Dim nmois As Long, mois As Long, année As Long, m As Long, saisie As String
saisie = InputBox("Nombre de mois à imprimer ?", "Nombre de mois", 3)
If IsNumeric(saisie) Then
nmois = CLng(saisie)
If nmois > 12 Then nmois = 12
mois = Month([A20])
année = Year([A20])
For m = 1 To nmois
'MsgBox ("impression de " & Format([A20], "mmm/yyyy"))
Worksheets("mcae_gril_prév.").PrintOut copies:=2
mois = mois Mod 12 + 1
année = année - (mois = 1)
[A20] = DateValue("01/" & mois & "/" & année)
Next m
Else
MsgBox ("Saisie non conforme")
End If
If Application.Dialogs(xlDialogPrinterSetup).Show = True Then Feuil1.PrintOut
End Sub
est-ilpossible qu'il ne me pose pas la question mais que je mette ds la macro l'imprimante que je souhaite ? [ds ce cas ci l'imprimante est RICOH Aficio CL2000 RPCS]
cdlmnt
berni///
re-bjr myta,
merci de votre réponse.
cette macro est-elle pour vous plausible ?
ub imprimer_()
Dim nmois As Long, mois As Long, année As Long, m As Long, saisie As String
saisie = InputBox("Nombre de mois à imprimer ?", "Nombre de mois", 3)
If IsNumeric(saisie) Then
nmois = CLng(saisie)
If nmois > 12 Then nmois = 12
mois = Month([A20])
année = Year([A20])
For m = 1 To nmois
'MsgBox ("impression de " & Format([A20], "mmm/yyyy"))
Worksheets("mcae_gril_prév.").PrintOut copies:=2
mois = mois Mod 12 + 1
année = année - (mois = 1)
[A20] = DateValue("01/" & mois & "/" & année)
Next m
Else
MsgBox ("Saisie non conforme")
End If
End Sub
Sub ChangePrinter()
Dim sCurPrinter As String
With Application
sCurPrinter = .ActivePrinter ' Store current printer.
.ActivePrinter = "RICOH Aficio CL2000 RPCS" ' Change Printers.
ActiveDocument.PrintOut ' Print the active document.
.ActivePrinter = sCurPrinter ' Set printer back to current.
End With
End Sub
car visiblement, le RICOH Aficio CL2000 RPCS...[qui est ce que je croyais être le chemin de l'imprimante couleur ne marche pas] l'imprimante se trouve sur le reseau de l'institution pour laquelle je travail...je dois donc trouver le bon chemin...
qu'en pensez-vous ?
bien cdlmnt,
berni///
merci de votre réponse.
cette macro est-elle pour vous plausible ?
ub imprimer_()
Dim nmois As Long, mois As Long, année As Long, m As Long, saisie As String
saisie = InputBox("Nombre de mois à imprimer ?", "Nombre de mois", 3)
If IsNumeric(saisie) Then
nmois = CLng(saisie)
If nmois > 12 Then nmois = 12
mois = Month([A20])
année = Year([A20])
For m = 1 To nmois
'MsgBox ("impression de " & Format([A20], "mmm/yyyy"))
Worksheets("mcae_gril_prév.").PrintOut copies:=2
mois = mois Mod 12 + 1
année = année - (mois = 1)
[A20] = DateValue("01/" & mois & "/" & année)
Next m
Else
MsgBox ("Saisie non conforme")
End If
End Sub
Sub ChangePrinter()
Dim sCurPrinter As String
With Application
sCurPrinter = .ActivePrinter ' Store current printer.
.ActivePrinter = "RICOH Aficio CL2000 RPCS" ' Change Printers.
ActiveDocument.PrintOut ' Print the active document.
.ActivePrinter = sCurPrinter ' Set printer back to current.
End With
End Sub
car visiblement, le RICOH Aficio CL2000 RPCS...[qui est ce que je croyais être le chemin de l'imprimante couleur ne marche pas] l'imprimante se trouve sur le reseau de l'institution pour laquelle je travail...je dois donc trouver le bon chemin...
qu'en pensez-vous ?
bien cdlmnt,
berni///
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Bonjour,
Pour garder un peu de souplesse il vaut mieux demander avant plutôt que de l'imposer d'office.
Après :
Si tu réponds par non, tu restes sur la dernière imprimante utilisée.
Si tu veux savoir quoi saisir comme nom d'imprimante couleur (en passant par là le nom seul ne suffit pas, il est suivi de sur xxxx:) imprime une feuille sur l'imprimante et lance ce petit programme :
Pour garder un peu de souplesse il vaut mieux demander avant plutôt que de l'imposer d'office.
Après :
If IsNumeric(saisie) Thenajoute :
If MsgBox("Imprimer en couleur ?", vbYesNo, "Choix imprimante") = vbYes Then Application.ActivePrinter = "PDFCreator sur Ne01:" End If
Si tu réponds par non, tu restes sur la dernière imprimante utilisée.
Si tu veux savoir quoi saisir comme nom d'imprimante couleur (en passant par là le nom seul ne suffit pas, il est suivi de sur xxxx:) imprime une feuille sur l'imprimante et lance ce petit programme :
Sub nom_imprimante() MsgBox (Application.ActivePrinter) End Sub
Bonjour eriic,
merci de votre reponse. ne riez mais...je suis parevenu à ajouter le complément :
If MsgBox("Imprimer en couleur ?", vbYesNo, "Choix imprimante") = vbYes Then
Application.ActivePrinter = "PDFCreator sur Ne01:"
End If
ce qui donne :
Sub imprimer_()
Dim nmois As Long, mois As Long, année As Long, m As Long, saisie As String
saisie = InputBox("Nombre de mois à imprimer ?", "Nombre de mois", 3)
If IsNumeric(saisie) Then
If MsgBox("Imprimer en couleur ?", vbYesNo, "Choix imprimante") = vbYes Then
Application.ActivePrinter = "PDFCreator sur Ne01:"
End If
nmois = CLng(saisie)
If nmois > 12 Then nmois = 12
mois = Month([A20])
année = Year([A20])
For m = 1 To nmois
'MsgBox ("impression de " & Format([A20], "mmm/yyyy"))
Worksheets("mcae_gril_prév.").PrintOut copies:=2
mois = mois Mod 12 + 1
année = année - (mois = 1)
[A20] = DateValue("01/" & mois & "/" & année)
Next m
Else
MsgBox ("Saisie non conforme")
End If
End Sub
par contre...(quelle honte..) je n'ai pas compris comment "lancer" le petit programme...et ce pour connaître le nom de l'imprimante...
dois incorporer le Sub nom_imprimante()
MsgBox (Application.ActivePrinter)
End Sub
à la macro...? ou sur n'importe quel fichier..?
lorsqu'il me donnera l'info (donc l'imprimante) je dois bien venir la placer à la place du : PDFCreator sur Ne01:...correct ?
désolé d'être parfois aussi bête mais...
merci de votre éclairage..
cdlmnt
berni///
merci de votre reponse. ne riez mais...je suis parevenu à ajouter le complément :
If MsgBox("Imprimer en couleur ?", vbYesNo, "Choix imprimante") = vbYes Then
Application.ActivePrinter = "PDFCreator sur Ne01:"
End If
ce qui donne :
Sub imprimer_()
Dim nmois As Long, mois As Long, année As Long, m As Long, saisie As String
saisie = InputBox("Nombre de mois à imprimer ?", "Nombre de mois", 3)
If IsNumeric(saisie) Then
If MsgBox("Imprimer en couleur ?", vbYesNo, "Choix imprimante") = vbYes Then
Application.ActivePrinter = "PDFCreator sur Ne01:"
End If
nmois = CLng(saisie)
If nmois > 12 Then nmois = 12
mois = Month([A20])
année = Year([A20])
For m = 1 To nmois
'MsgBox ("impression de " & Format([A20], "mmm/yyyy"))
Worksheets("mcae_gril_prév.").PrintOut copies:=2
mois = mois Mod 12 + 1
année = année - (mois = 1)
[A20] = DateValue("01/" & mois & "/" & année)
Next m
Else
MsgBox ("Saisie non conforme")
End If
End Sub
par contre...(quelle honte..) je n'ai pas compris comment "lancer" le petit programme...et ce pour connaître le nom de l'imprimante...
dois incorporer le Sub nom_imprimante()
MsgBox (Application.ActivePrinter)
End Sub
à la macro...? ou sur n'importe quel fichier..?
lorsqu'il me donnera l'info (donc l'imprimante) je dois bien venir la placer à la place du : PDFCreator sur Ne01:...correct ?
désolé d'être parfois aussi bête mais...
merci de votre éclairage..
cdlmnt
berni///
Bonsoir,
dois incorporer le Sub nom_imprimante()
MsgBox (Application.ActivePrinter)
End Sub
à la macro...? ou sur n'importe quel fichier..?
Tu le met n'importe où, à la suite de l'autre c'est plus facile pour le retrouver, c'est tout.
Si c'est à faire une fois de temps en temps, dans le code tu mets le curseur dans le petit sub et tu fais F5 pour le lancer et noter le nom.
Ou bien tu le lances à partir d'excel 'outils / macro / macros...'
Si c'est amené à changer souvent (ce qui m'étonnerai) tu peux mettre un bouton pour lancer ce sub
lorsqu'il me donnera l'info (donc l'imprimante) je dois bien venir la placer à la place du : PDFCreator sur Ne01:...correct ?
exact
eric
dois incorporer le Sub nom_imprimante()
MsgBox (Application.ActivePrinter)
End Sub
à la macro...? ou sur n'importe quel fichier..?
Tu le met n'importe où, à la suite de l'autre c'est plus facile pour le retrouver, c'est tout.
Si c'est à faire une fois de temps en temps, dans le code tu mets le curseur dans le petit sub et tu fais F5 pour le lancer et noter le nom.
Ou bien tu le lances à partir d'excel 'outils / macro / macros...'
Si c'est amené à changer souvent (ce qui m'étonnerai) tu peux mettre un bouton pour lancer ce sub
lorsqu'il me donnera l'info (donc l'imprimante) je dois bien venir la placer à la place du : PDFCreator sur Ne01:...correct ?
exact
eric
Bonsoir Eriic,
merci de votre réponse. je vais vous parraître tres bête..Mais..je n'y suis pas encore arrivé...
je n'ai pas d'imprimante à la maison donc cela devra attendre lundi mais..pouvez vous juste confirmer que le code :
Sub imprimer_()
Dim nmois As Long, mois As Long, année As Long, m As Long, saisie As String
saisie = InputBox("Nombre de mois à imprimer ?", "Nombre de mois", 3)
If IsNumeric(saisie) Then
If MsgBox("Imprimer en couleur ?", vbYesNo, "Choix imprimante") = vbYes Then
Application.ActivePrinter = "PDFCreator sur Ne01:"
End If
nmois = CLng(saisie)
If nmois > 12 Then nmois = 12
mois = Month([A20])
année = Year([A20])
For m = 1 To nmois
'MsgBox ("impression de " & Format([A20], "mmm/yyyy"))
Worksheets("mcae_gril_prév.").PrintOut copies:=2
mois = mois Mod 12 + 1
année = année - (mois = 1)
[A20] = DateValue("01/" & mois & "/" & année)
Next m
Else
MsgBox ("Saisie non conforme")
End If
Sub nom_imprimante()
MsgBox (Application.ActivePrinter)
End Sub
est pour vous correct ?
je vais garder la même imprimante à chaque fois donc pas besoinde changement.
je réessaye lundi et vous tient [si vs êtes d'accord] au courant..Mais..j'avoue que sur ce coup là, je me sens tres con...
petite question perso...vous semblez tres connaisseur sur les macros...je pense suivre un formation en cours du soir...pouvez-vous me dire si la vba est encore fort utilisé en info ou je vais perdre mon temps..?
tres cdlmnt,
berni///
merci de votre réponse. je vais vous parraître tres bête..Mais..je n'y suis pas encore arrivé...
je n'ai pas d'imprimante à la maison donc cela devra attendre lundi mais..pouvez vous juste confirmer que le code :
Sub imprimer_()
Dim nmois As Long, mois As Long, année As Long, m As Long, saisie As String
saisie = InputBox("Nombre de mois à imprimer ?", "Nombre de mois", 3)
If IsNumeric(saisie) Then
If MsgBox("Imprimer en couleur ?", vbYesNo, "Choix imprimante") = vbYes Then
Application.ActivePrinter = "PDFCreator sur Ne01:"
End If
nmois = CLng(saisie)
If nmois > 12 Then nmois = 12
mois = Month([A20])
année = Year([A20])
For m = 1 To nmois
'MsgBox ("impression de " & Format([A20], "mmm/yyyy"))
Worksheets("mcae_gril_prév.").PrintOut copies:=2
mois = mois Mod 12 + 1
année = année - (mois = 1)
[A20] = DateValue("01/" & mois & "/" & année)
Next m
Else
MsgBox ("Saisie non conforme")
End If
Sub nom_imprimante()
MsgBox (Application.ActivePrinter)
End Sub
est pour vous correct ?
je vais garder la même imprimante à chaque fois donc pas besoinde changement.
je réessaye lundi et vous tient [si vs êtes d'accord] au courant..Mais..j'avoue que sur ce coup là, je me sens tres con...
petite question perso...vous semblez tres connaisseur sur les macros...je pense suivre un formation en cours du soir...pouvez-vous me dire si la vba est encore fort utilisé en info ou je vais perdre mon temps..?
tres cdlmnt,
berni///
Bonjour,
non, tu dois avoir 2 programmes.
Sub imprimer()
...
end sub
Sub nom_imprimante()
...
end sub
pouvez-vous me dire si la vba est encore fort utilisé en info ou je vais perdre mon temps..?
Il n'y a pas de réponse exacte à ce type de question.
C'est fort utilisé par ceux qui en ont besoin et qui le connaissent.
Comme tu l'utilises tu ne perdrais pas ton temps à suivre une formation dessus.
Mais si ton besoin peut s'avérer plus large qu'excel, une sur vb.net pourrait être plus interessante. Ca te donnerait tous les éléments pour vba (logique, programmation objet etc), mais avec tu peux faire des applis complètes qui n'ont rien à voir avec excel et qui en sont totalement indépendantes.
Si tu sais que tu ne feras jamais de telles applis régulièrement (car il faut pratiquer) il est sûrement plus raisonnable de rester sur vba excel.
eric
non, tu dois avoir 2 programmes.
Sub imprimer()
...
end sub
Sub nom_imprimante()
...
end sub
pouvez-vous me dire si la vba est encore fort utilisé en info ou je vais perdre mon temps..?
Il n'y a pas de réponse exacte à ce type de question.
C'est fort utilisé par ceux qui en ont besoin et qui le connaissent.
Comme tu l'utilises tu ne perdrais pas ton temps à suivre une formation dessus.
Mais si ton besoin peut s'avérer plus large qu'excel, une sur vb.net pourrait être plus interessante. Ca te donnerait tous les éléments pour vba (logique, programmation objet etc), mais avec tu peux faire des applis complètes qui n'ont rien à voir avec excel et qui en sont totalement indépendantes.
Si tu sais que tu ne feras jamais de telles applis régulièrement (car il faut pratiquer) il est sûrement plus raisonnable de rester sur vba excel.
eric
Bonjour Eriic, Bonjour gbinforme,
j'espsere que vous allez bien et que vous passez un bon week-end.
merci à vous eriic d'avoir repondu à mes questions. j'essaie la macro lundi au bureau...
en ce qui concerne la vba, c'est surtout que parfois je me sens tres "bête" et que cela est parfois plus gaie de pouvoir soi-même trouver les réponse (le dernier exemple end ate etant de devoir venir vous ennuyer pour un problème qui est sûrement tres facile). j'ai l'impression qu'avec la vba on sait faire pleind e chose...problème ds le cadre de mon travail, cela me sert que tres peu...
donc, je refléchi à l'opportunité et l'intérêt de suivre ce type de formation...
merci à vous
cdlmnt,
berni///
j'espsere que vous allez bien et que vous passez un bon week-end.
merci à vous eriic d'avoir repondu à mes questions. j'essaie la macro lundi au bureau...
en ce qui concerne la vba, c'est surtout que parfois je me sens tres "bête" et que cela est parfois plus gaie de pouvoir soi-même trouver les réponse (le dernier exemple end ate etant de devoir venir vous ennuyer pour un problème qui est sûrement tres facile). j'ai l'impression qu'avec la vba on sait faire pleind e chose...problème ds le cadre de mon travail, cela me sert que tres peu...
donc, je refléchi à l'opportunité et l'intérêt de suivre ce type de formation...
merci à vous
cdlmnt,
berni///
Salut le forum
Regarde du côté de
Tu peux le faire directement comme ceci
Mytå
Quelle prétention de prétendre que l'informatique est récente
Adam et Eve avaient déjà un Apple ! [MsProject 2003(FR), Excel 2003-2007(FR)]
Regarde du côté de
Application.Dialogs(xlDialogPrint).Show
Tu peux le faire directement comme ceci
If Application.Dialogs(xlDialogPrinterSetup).Show = True Then Feuil1.PrintOut
Mytå
Quelle prétention de prétendre que l'informatique est récente
Adam et Eve avaient déjà un Apple ! [MsProject 2003(FR), Excel 2003-2007(FR)]