j'essaye d'utiliser la commande beforeprint mais sans succ=E8s
Je cherche =E0 faire la chose suivante :
Quand l'utilisateur appuie sur l'imprimante
cela note "Exemplaire Compta" dans la cellule P16
cela lance l'impression
cela note "Exemplaire TCE" en P16
cela lance l'impression
cela note "" en p16
fin de la proc=E9dure
j'ai cr=E9=E9 ceci mais cela m'imprime 3 exemplaires sans faire la modif de=
texte
Private Sub Workbook_BeforePrint(Cancel As Boolean)
Range("p16").Value =3D "Exemplaire COMPTA"
ActiveWindow.SelectedSheets.PrintOut Copies:=3D1
Range("p16").Value =3D "Exemplaire TCE"
ActiveWindow.SelectedSheets.PrintOut Copies:=3D1
Range("p16").Value =3D ""
End Sub
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
MichD
Bonjour,
Copie cette procédure dans le ThisWorkbook de ton classeur.
La procédure est limitée à une seule feuille "FEUIL1" dans mon exemple. (Attention modifie le nom de l'onglet de la feuille dans la procédure en utilisant seulement des majuscules).
Lorsque cela fonctionne comme tu le veux, tu remplaces les commandes printpreview par printout.
'------------------------------------ Private Sub Workbook_BeforePrint(Cancel As Boolean) Dim Sh As Worksheet For Each Sh In ActiveWindow.SelectedSheets If UCase(Sh.Name) = "FEUIL1" Then Application.EnableEvents = False For A = 1 To 2 Select Case A Case 1 Range("P16") = "Exemplaire Compta" Sh.PrintPreview 'à remplacer par .PrintOut Case 2 Range("P16") = "Exemplaire TCE" Sh.PrintPreview 'à remplacer par .PrintOut End Select Next Cancel = True Application.EnableEvents = True End If Next End Sub '------------------------------------
MichD --------------------------------------------------------------- "Fredo(67)" a écrit dans le message de groupe de discussion :
Bonjour à tous
j'essaye d'utiliser la commande beforeprint mais sans succès
Je cherche à faire la chose suivante : Quand l'utilisateur appuie sur l'imprimante cela note "Exemplaire Compta" dans la cellule P16 cela lance l'impression cela note "Exemplaire TCE" en P16 cela lance l'impression cela note "" en p16
fin de la procédure
j'ai créé ceci mais cela m'imprime 3 exemplaires sans faire la modif de texte
Private Sub Workbook_BeforePrint(Cancel As Boolean) Range("p16").Value = "Exemplaire COMPTA" ActiveWindow.SelectedSheets.PrintOut Copies:=1 Range("p16").Value = "Exemplaire TCE" ActiveWindow.SelectedSheets.PrintOut Copies:=1 Range("p16").Value = "" End Sub
où me trompe-je ?
Merci de votre aide.
Bonjour,
Copie cette procédure dans le ThisWorkbook de ton classeur.
La procédure est limitée à une seule feuille "FEUIL1" dans
mon exemple. (Attention modifie le nom de l'onglet de la
feuille dans la procédure en utilisant seulement des majuscules).
Lorsque cela fonctionne comme tu le veux, tu remplaces les commandes
printpreview par printout.
'------------------------------------
Private Sub Workbook_BeforePrint(Cancel As Boolean)
Dim Sh As Worksheet
For Each Sh In ActiveWindow.SelectedSheets
If UCase(Sh.Name) = "FEUIL1" Then
Application.EnableEvents = False
For A = 1 To 2
Select Case A
Case 1
Range("P16") = "Exemplaire Compta"
Sh.PrintPreview 'à remplacer par .PrintOut
Case 2
Range("P16") = "Exemplaire TCE"
Sh.PrintPreview 'à remplacer par .PrintOut
End Select
Next
Cancel = True
Application.EnableEvents = True
End If
Next
End Sub
'------------------------------------
MichD
---------------------------------------------------------------
"Fredo(67)" a écrit dans le message de groupe de discussion :
aef5da75-4c2a-473c-83bc-5596d8e4e580@googlegroups.com...
Bonjour à tous
j'essaye d'utiliser la commande beforeprint mais sans succès
Je cherche à faire la chose suivante :
Quand l'utilisateur appuie sur l'imprimante
cela note "Exemplaire Compta" dans la cellule P16
cela lance l'impression
cela note "Exemplaire TCE" en P16
cela lance l'impression
cela note "" en p16
fin de la procédure
j'ai créé ceci mais cela m'imprime 3 exemplaires sans faire la modif de
texte
Private Sub Workbook_BeforePrint(Cancel As Boolean)
Range("p16").Value = "Exemplaire COMPTA"
ActiveWindow.SelectedSheets.PrintOut Copies:=1
Range("p16").Value = "Exemplaire TCE"
ActiveWindow.SelectedSheets.PrintOut Copies:=1
Range("p16").Value = ""
End Sub
Copie cette procédure dans le ThisWorkbook de ton classeur.
La procédure est limitée à une seule feuille "FEUIL1" dans mon exemple. (Attention modifie le nom de l'onglet de la feuille dans la procédure en utilisant seulement des majuscules).
Lorsque cela fonctionne comme tu le veux, tu remplaces les commandes printpreview par printout.
'------------------------------------ Private Sub Workbook_BeforePrint(Cancel As Boolean) Dim Sh As Worksheet For Each Sh In ActiveWindow.SelectedSheets If UCase(Sh.Name) = "FEUIL1" Then Application.EnableEvents = False For A = 1 To 2 Select Case A Case 1 Range("P16") = "Exemplaire Compta" Sh.PrintPreview 'à remplacer par .PrintOut Case 2 Range("P16") = "Exemplaire TCE" Sh.PrintPreview 'à remplacer par .PrintOut End Select Next Cancel = True Application.EnableEvents = True End If Next End Sub '------------------------------------
MichD --------------------------------------------------------------- "Fredo(67)" a écrit dans le message de groupe de discussion :
Bonjour à tous
j'essaye d'utiliser la commande beforeprint mais sans succès
Je cherche à faire la chose suivante : Quand l'utilisateur appuie sur l'imprimante cela note "Exemplaire Compta" dans la cellule P16 cela lance l'impression cela note "Exemplaire TCE" en P16 cela lance l'impression cela note "" en p16
fin de la procédure
j'ai créé ceci mais cela m'imprime 3 exemplaires sans faire la modif de texte
Private Sub Workbook_BeforePrint(Cancel As Boolean) Range("p16").Value = "Exemplaire COMPTA" ActiveWindow.SelectedSheets.PrintOut Copies:=1 Range("p16").Value = "Exemplaire TCE" ActiveWindow.SelectedSheets.PrintOut Copies:=1 Range("p16").Value = "" End Sub
où me trompe-je ?
Merci de votre aide.
Fredo(67)
Merci MichD cela marche parfaitement
et en Elevant le critère " If UCase(Sh.Name) = "FEUIL1" Then" ainsi que le end if à la fin
cette fonction marche avec toutes les feuilles de mon fichier....
merci
Le mardi 12 novembre 2013 16:06:35 UTC+1, Fredo(67) a écrit :
Bonjour à tous
j'essaye d'utiliser la commande beforeprint mais sans succès
Je cherche à faire la chose suivante :
Quand l'utilisateur appuie sur l'imprimante
cela note "Exemplaire Compta" dans la cellule P16
cela lance l'impression
cela note "Exemplaire TCE" en P16
cela lance l'impression
cela note "" en p16
fin de la procédure
j'ai créé ceci mais cela m'imprime 3 exemplaires sans faire la modif de texte
Private Sub Workbook_BeforePrint(Cancel As Boolean)
Range("p16").Value = "Exemplaire COMPTA"
ActiveWindow.SelectedSheets.PrintOut Copies:=1
Range("p16").Value = "Exemplaire TCE"
ActiveWindow.SelectedSheets.PrintOut Copies:=1
Range("p16").Value = ""
End Sub
où me trompe-je ?
Merci de votre aide.
Merci MichD
cela marche parfaitement
et en Elevant le critère " If UCase(Sh.Name) = "FEUIL1" Then" ainsi que le end if à la fin
cette fonction marche avec toutes les feuilles de mon fichier....
merci
Le mardi 12 novembre 2013 16:06:35 UTC+1, Fredo(67) a écrit :
Bonjour à tous
j'essaye d'utiliser la commande beforeprint mais sans succès
Je cherche à faire la chose suivante :
Quand l'utilisateur appuie sur l'imprimante
cela note "Exemplaire Compta" dans la cellule P16
cela lance l'impression
cela note "Exemplaire TCE" en P16
cela lance l'impression
cela note "" en p16
fin de la procédure
j'ai créé ceci mais cela m'imprime 3 exemplaires sans faire la modif de texte
Private Sub Workbook_BeforePrint(Cancel As Boolean)
j'ai fait la modif comme tu l'as décrite dans ton mail, et cela marche mais quand je clique sur aperçu avant impression, cela lance également la macro.
Ce que je voudrais c'est qu'elle ne se lance qu'au clique de IMPRIMER
est-ce plus clair ?
Le mardi 12 novembre 2013 16:06:35 UTC+1, Fredo(67) a écrit :
Bonjour à tous
j'essaye d'utiliser la commande beforeprint mais sans succès
Je cherche à faire la chose suivante :
Quand l'utilisateur appuie sur l'imprimante
cela note "Exemplaire Compta" dans la cellule P16
cela lance l'impression
cela note "Exemplaire TCE" en P16
cela lance l'impression
cela note "" en p16
fin de la procédure
j'ai créé ceci mais cela m'imprime 3 exemplaires sans faire la modif de texte
Private Sub Workbook_BeforePrint(Cancel As Boolean)
Range("p16").Value = "Exemplaire COMPTA"
ActiveWindow.SelectedSheets.PrintOut Copies:=1
Range("p16").Value = "Exemplaire TCE"
ActiveWindow.SelectedSheets.PrintOut Copies:=1
Range("p16").Value = ""
End Sub
où me trompe-je ?
Merci de votre aide.
Non, en fait ce que je voulais dire c'est que
j'ai fait la modif comme tu l'as décrite dans ton mail, et cela marche
mais quand je clique sur aperçu avant impression, cela lance également la macro.
Ce que je voudrais c'est qu'elle ne se lance qu'au clique de IMPRIMER
est-ce plus clair ?
Le mardi 12 novembre 2013 16:06:35 UTC+1, Fredo(67) a écrit :
Bonjour à tous
j'essaye d'utiliser la commande beforeprint mais sans succès
Je cherche à faire la chose suivante :
Quand l'utilisateur appuie sur l'imprimante
cela note "Exemplaire Compta" dans la cellule P16
cela lance l'impression
cela note "Exemplaire TCE" en P16
cela lance l'impression
cela note "" en p16
fin de la procédure
j'ai créé ceci mais cela m'imprime 3 exemplaires sans faire la modif de texte
Private Sub Workbook_BeforePrint(Cancel As Boolean)
j'ai fait la modif comme tu l'as décrite dans ton mail, et cela marche mais quand je clique sur aperçu avant impression, cela lance également la macro.
Ce que je voudrais c'est qu'elle ne se lance qu'au clique de IMPRIMER
est-ce plus clair ?
Le mardi 12 novembre 2013 16:06:35 UTC+1, Fredo(67) a écrit :
Bonjour à tous
j'essaye d'utiliser la commande beforeprint mais sans succès
Je cherche à faire la chose suivante :
Quand l'utilisateur appuie sur l'imprimante
cela note "Exemplaire Compta" dans la cellule P16
cela lance l'impression
cela note "Exemplaire TCE" en P16
cela lance l'impression
cela note "" en p16
fin de la procédure
j'ai créé ceci mais cela m'imprime 3 exemplaires sans faire la modif de texte
Private Sub Workbook_BeforePrint(Cancel As Boolean)
Range("p16").Value = "Exemplaire COMPTA"
ActiveWindow.SelectedSheets.PrintOut Copies:=1
Range("p16").Value = "Exemplaire TCE"
ActiveWindow.SelectedSheets.PrintOut Copies:=1
Range("p16").Value = ""
End Sub
où me trompe-je ?
Merci de votre aide.
MichD
Lorsque tu cliques sur la commande "Aperçu avant impression" ou "Imprimer" la procédure événementielle du thisworkbook est déclenchée. "Private Sub Workbook_BeforePrint(Cancel As Boolean)"
Ce que tu peux faire, tu peux extraire la macro de ce module et la mettre dans un module standard. Lorsque tu voudras imprimer, tu pourras le faire en appelant la macro dans la fenêtre Alt + F8 ou en mettant un bouton dans la feuille qui est affecté de cette macro.
'---------------------------------------- Sub Imprimer() Dim Sh As Worksheet For Each Sh In ActiveWindow.SelectedSheets If UCase(Sh.Name) = "FEUIL1" Then Application.EnableEvents = False For a = 1 To 2 Select Case a Case 1 Range("P16") = "Exemplaire Compta" Sh.PrintPreview 'à remplacer par .PrintOut Case 2 Range("P16") = "Exemplaire TCE" Sh.PrintPreview 'à remplacer par .PrintOut End Select Next Application.EnableEvents = True End If Next End Sub '----------------------------------------
Il est possible de faire ce que tu veux si tu décides de modifier le code des commandes. Voici un excellent site internet sur le sujet: http://www.rondebruin.nl/win/section2.htm
Moi, dans le cadre d'un forum, je ne vais pas m'investir dans cela!
Lorsque tu cliques sur la commande "Aperçu avant impression" ou "Imprimer"
la procédure événementielle du thisworkbook est déclenchée.
"Private Sub Workbook_BeforePrint(Cancel As Boolean)"
Ce que tu peux faire, tu peux extraire la macro de ce module et la mettre
dans un module standard. Lorsque tu voudras imprimer, tu pourras le faire
en appelant la macro dans la fenêtre Alt + F8 ou en mettant un bouton
dans la feuille qui est affecté de cette macro.
'----------------------------------------
Sub Imprimer()
Dim Sh As Worksheet
For Each Sh In ActiveWindow.SelectedSheets
If UCase(Sh.Name) = "FEUIL1" Then
Application.EnableEvents = False
For a = 1 To 2
Select Case a
Case 1
Range("P16") = "Exemplaire Compta"
Sh.PrintPreview 'à remplacer par .PrintOut
Case 2
Range("P16") = "Exemplaire TCE"
Sh.PrintPreview 'à remplacer par .PrintOut
End Select
Next
Application.EnableEvents = True
End If
Next
End Sub
'----------------------------------------
Il est possible de faire ce que tu veux si tu décides de modifier le
code des commandes. Voici un excellent site internet sur le sujet:
http://www.rondebruin.nl/win/section2.htm
Moi, dans le cadre d'un forum, je ne vais pas m'investir dans cela!
Lorsque tu cliques sur la commande "Aperçu avant impression" ou "Imprimer" la procédure événementielle du thisworkbook est déclenchée. "Private Sub Workbook_BeforePrint(Cancel As Boolean)"
Ce que tu peux faire, tu peux extraire la macro de ce module et la mettre dans un module standard. Lorsque tu voudras imprimer, tu pourras le faire en appelant la macro dans la fenêtre Alt + F8 ou en mettant un bouton dans la feuille qui est affecté de cette macro.
'---------------------------------------- Sub Imprimer() Dim Sh As Worksheet For Each Sh In ActiveWindow.SelectedSheets If UCase(Sh.Name) = "FEUIL1" Then Application.EnableEvents = False For a = 1 To 2 Select Case a Case 1 Range("P16") = "Exemplaire Compta" Sh.PrintPreview 'à remplacer par .PrintOut Case 2 Range("P16") = "Exemplaire TCE" Sh.PrintPreview 'à remplacer par .PrintOut End Select Next Application.EnableEvents = True End If Next End Sub '----------------------------------------
Il est possible de faire ce que tu veux si tu décides de modifier le code des commandes. Voici un excellent site internet sur le sujet: http://www.rondebruin.nl/win/section2.htm
Moi, dans le cadre d'un forum, je ne vais pas m'investir dans cela!