OVH Cloud OVH Cloud

Macros : la même à deux endroits différents

12 réponses
Avatar
Jean bidule
Bonjour le forum,

j'ai créé une macro pour lancer une impression d'un range nommé (par exemple
: "ImpListe") se trouvant sur la même page que le bouton de macro.
J'aimerais mettre une deuxième occurence de cette macro dans une feuille
spéciale du même classeur.
Le but est d'avoir à disposition,
d'une part, la macro quand on se trouve sur la feuille où se trouve le range
à imprimer;
et d'autre part de pouvoir utiliser une sorte de menu se trouvant dans une
feuille nomée "Menu impression" dans laquelle je pourrais regrouper toutes
les macros à boutons d'impression.

Merci beaucoup à vous
Jean

10 réponses

1 2
Avatar
Philippe.R
Bonjour Jean,
Peux tu publier ici le code de ta macro d'impression en précisant dans quel type module elle est rangée
?
--
Amicales Salutations
XL 97 / 2000 / 2002
Retirer A_S_ pour répondre en privé.
Préférez suivre facilement sur le forum :
news://msnews.microsoft.com/microsoft.public.fr.excel
(Voulez-vous vous abonner ? -> Oui)

"Jean bidule" a écrit dans le message de news:
41a0669f$0$30709$
Bonjour le forum,

j'ai créé une macro pour lancer une impression d'un range nommé (par exemple : "ImpListe") se trouvant
sur la même page que le bouton de macro.
J'aimerais mettre une deuxième occurence de cette macro dans une feuille spéciale du même classeur.
Le but est d'avoir à disposition,
d'une part, la macro quand on se trouve sur la feuille où se trouve le range à imprimer;
et d'autre part de pouvoir utiliser une sorte de menu se trouvant dans une feuille nomée "Menu
impression" dans laquelle je pourrais regrouper toutes les macros à boutons d'impression.

Merci beaucoup à vous
Jean



Avatar
Pierre CFI [mvp]
bonjour
fait ta macro dans un module standart (pas le module de classe d'une feuille), comme çà tu l'appelle d'ou tu veux

--
Pierre CFI
MVP Microsoft Access
Mail : http://cerbermail.com/?z0SN8cN53B

Site pour bien commencer
Access http://users.skynet.be/mpfa/
Excel http://www.excelabo.net
Site perso
http://access.cfi.free.fr
"Jean bidule" a écrit dans le message de news:41a0669f$0$30709$
Bonjour le forum,

j'ai créé une macro pour lancer une impression d'un range nommé (par exemple
: "ImpListe") se trouvant sur la même page que le bouton de macro.
J'aimerais mettre une deuxième occurence de cette macro dans une feuille
spéciale du même classeur.
Le but est d'avoir à disposition,
d'une part, la macro quand on se trouve sur la feuille où se trouve le range
à imprimer;
et d'autre part de pouvoir utiliser une sorte de menu se trouvant dans une
feuille nomée "Menu impression" dans laquelle je pourrais regrouper toutes
les macros à boutons d'impression.

Merci beaucoup à vous
Jean




Avatar
E KERGRESSE
Salut Jean,

Si ta macro d'impression est placée dans un module standard (et non dans une
feuille), elle est utilisable sur toutes tes feuilles. Il faut donc
maintenant l'adapter au contexte de tes feuilles, pour imprimer les zones
qu'il faut en fonction du nom de la feuille. Tu peux facilement utiliser un
Select Case testant le nom de la feuille pour définir chaque aire à
imprimer.

Cordialement.


"Jean bidule" a écrit dans le message de news:
41a0669f$0$30709$
Bonjour le forum,

j'ai créé une macro pour lancer une impression d'un range nommé (par
exemple

: "ImpListe") se trouvant sur la même page que le bouton de macro.
J'aimerais mettre une deuxième occurence de cette macro dans une feuille
spéciale du même classeur.
Le but est d'avoir à disposition,
d'une part, la macro quand on se trouve sur la feuille où se trouve le
range

à imprimer;
et d'autre part de pouvoir utiliser une sorte de menu se trouvant dans une
feuille nomée "Menu impression" dans laquelle je pourrais regrouper toutes
les macros à boutons d'impression.

Merci beaucoup à vous
Jean




Avatar
Jean bidule
Bonjour Philippe, merci pour ton attention,

la macro est enregistrée dans un module standard il me semble: nom du module
: "module1"

Je mets ici la macro :
Sub imp_liste()
Rrange = "ImpListe"
Ttitre = Range("Parametres!AC38").Value & " - Récolte " &
Range("Parametres!AD8").Value
Trows = "$1:$4"
Tcols = ""
Ppage = 99
Oorient = "L"
Call ImpRange(Oorient, Rrange, Ttitre, Trows, Tcols, Ppage)
End Sub

Sub ImpRange(orient, Rr, Tt, Tr, Tc, Pp)
On Error Resume Next
choix = MsgBox("Impression de : " & Chr(13) & Chr(10) & Tt, vbOKCancel)
If choix = vbOK Then
Application.ScreenUpdating = False
ActiveSheet.PageSetup.PrintArea = Rr
With ActiveSheet.PageSetup
.LeftHeader = "&10&D &T"
.CenterHeader = "&12&U" & Tt
.RightHeader = "&""Arial,Italique""&10Page &P / &N"
.LeftFooter = "&""Arial,Italique""&10&F"
.CenterFooter = ""
.RightFooter = "&10[&A] " & Chr(171) & " " & Rr & " " &
Chr(187)
If Tr <> "" Then
.PrintTitleRows = Tr
Else
.PrintTitleRows = ""
End If

If Tc <> "" Then
.PrintTitleColumns = Tc
Else
.PrintTitleColumns = ""
End If
.LeftMargin = Application.InchesToPoints(0.511811023622047)
.RightMargin = Application.InchesToPoints(0.511811023622047)
.TopMargin = Application.InchesToPoints(0.9056)
.BottomMargin = Application.InchesToPoints(0.9056)
.HeaderMargin = Application.InchesToPoints(0.511811023622047)
.FooterMargin = Application.InchesToPoints(0.511811023622047)
.PrintHeadings = False
.PrintGridlines = False
.PrintComments = xlPrintNoComments
.PrintQuality = 600
.CenterHorizontally = True
.CenterVertically = False
If orient = "L" Then
.Orientation = xlLandscape
End If
If orient = "P" Then
.Orientation = xlPortrait
End If
.Draft = False
.PaperSize = xlPaperA4
.FirstPageNumber = xlAutomatic
.Order = xlDownThenOver
.BlackAndWhite = False
.Zoom = False
.FitToPagesWide = 1
.FitToPagesTall = Pp
.PrintErrors = xlPrintErrorsDisplayed
End With
ActiveWindow.SelectedSheets.PrintOut Copies:=1
Application.ScreenUpdating = True
End If
End Sub

Merci beaucoup Philippe


"Philippe.R" a écrit dans le message de news:

Bonjour Jean,
Peux tu publier ici le code de ta macro d'impression en précisant dans
quel type module elle est rangée ?
--
Amicales Salutations
XL 97 / 2000 / 2002
Retirer A_S_ pour répondre en privé.
Préférez suivre facilement sur le forum :
news://msnews.microsoft.com/microsoft.public.fr.excel
(Voulez-vous vous abonner ? -> Oui)

"Jean bidule" a écrit dans le message de news:
41a0669f$0$30709$
Bonjour le forum,

j'ai créé une macro pour lancer une impression d'un range nommé (par
exemple : "ImpListe") se trouvant sur la même page que le bouton de
macro.
J'aimerais mettre une deuxième occurence de cette macro dans une feuille
spéciale du même classeur.
Le but est d'avoir à disposition,
d'une part, la macro quand on se trouve sur la feuille où se trouve le
range à imprimer;
et d'autre part de pouvoir utiliser une sorte de menu se trouvant dans
une feuille nomée "Menu impression" dans laquelle je pourrais regrouper
toutes les macros à boutons d'impression.

Merci beaucoup à vous
Jean






Avatar
Jean bidule
Bonjour Pierre,

Je peux bien l'appeler mais apparemment le bon range n'est plus prit en
compte.
J'ai un range nommé "ImpListe" qui fait référence aux cellules de la feuille
"Shemas"
Si je veux lancer la macro alors que je me trouve dans la feuille
"Paramètres"; le range qu'il prend en compte est tout à fait différent; du
moins ce n'est pas celui de la feuille "Shemas".

Sincères salutations et merci
Jean

"Pierre CFI [mvp]" a écrit dans le message de
news:
bonjour
fait ta macro dans un module standart (pas le module de classe d'une
feuille), comme çà tu l'appelle d'ou tu veux

--
Pierre CFI
MVP Microsoft Access
Mail : http://cerbermail.com/?z0SN8cN53B

Site pour bien commencer
Access http://users.skynet.be/mpfa/
Excel http://www.excelabo.net
Site perso
http://access.cfi.free.fr
"Jean bidule" a écrit dans le message de
news:41a0669f$0$30709$
Bonjour le forum,

j'ai créé une macro pour lancer une impression d'un range nommé (par
exemple
: "ImpListe") se trouvant sur la même page que le bouton de macro.
J'aimerais mettre une deuxième occurence de cette macro dans une feuille
spéciale du même classeur.
Le but est d'avoir à disposition,
d'une part, la macro quand on se trouve sur la feuille où se trouve le
range
à imprimer;
et d'autre part de pouvoir utiliser une sorte de menu se trouvant dans
une
feuille nomée "Menu impression" dans laquelle je pourrais regrouper
toutes
les macros à boutons d'impression.

Merci beaucoup à vous
Jean








Avatar
Pierre CFI [mvp]
.../...
donc ce n'est pas la méme macro :o))

--
Pierre CFI
MVP Microsoft Access
Mail : http://cerbermail.com/?z0SN8cN53B

Site pour bien commencer
Access http://users.skynet.be/mpfa/
Excel http://www.excelabo.net
Site perso
http://access.cfi.free.fr
"Jean bidule" a écrit dans le message de news:41a06f3e$0$25068$
Bonjour Pierre,

Je peux bien l'appeler mais apparemment le bon range n'est plus prit en
compte.
J'ai un range nommé "ImpListe" qui fait référence aux cellules de la feuille
"Shemas"
Si je veux lancer la macro alors que je me trouve dans la feuille
"Paramètres"; le range qu'il prend en compte est tout à fait différent; du
moins ce n'est pas celui de la feuille "Shemas".

Sincères salutations et merci
Jean

"Pierre CFI [mvp]" a écrit dans le message de
news:
bonjour
fait ta macro dans un module standart (pas le module de classe d'une
feuille), comme çà tu l'appelle d'ou tu veux

--
Pierre CFI
MVP Microsoft Access
Mail : http://cerbermail.com/?z0SN8cN53B

Site pour bien commencer
Access http://users.skynet.be/mpfa/
Excel http://www.excelabo.net
Site perso
http://access.cfi.free.fr
"Jean bidule" a écrit dans le message de
news:41a0669f$0$30709$
Bonjour le forum,

j'ai créé une macro pour lancer une impression d'un range nommé (par
exemple
: "ImpListe") se trouvant sur la même page que le bouton de macro.
J'aimerais mettre une deuxième occurence de cette macro dans une feuille
spéciale du même classeur.
Le but est d'avoir à disposition,
d'une part, la macro quand on se trouve sur la feuille où se trouve le
range
à imprimer;
et d'autre part de pouvoir utiliser une sorte de menu se trouvant dans
une
feuille nomée "Menu impression" dans laquelle je pourrais regrouper
toutes
les macros à boutons d'impression.

Merci beaucoup à vous
Jean












Avatar
Jean bidule
Si si c'est exactement la même macro.
Elle devrait, peu importe la feuille où je me trouve, imprimer exactement la
même chose (la zone d'impression doit être la même)
Par exemple si je me trouve dans la feuille "Paramètres" et que j'appuie sur
un bouton "print shema", cela devrait imprimer exactement la même zone
d'impression que si j'appuie sur un deuxième bouton "print shema" (mais
lancant la même macro) situé dans la feuille "Shemas".

A mon avis, il faut peut-être ajouter une instruction ou deux pour
généraliser la macro:
du genre
1) FA = feuille actuelle
2) aller à la feuille "shema"
3) lancer l'impression
4) revenir à la feuille FA (du point 1)

Mais quelle est l'instruction qui me donne dans une macro le nom de la
feuille actuelle (FA) ?

Sincères salutations et merci
Jean

"Pierre CFI [mvp]" a écrit dans le message de
news: %
.../...
donc ce n'est pas la méme macro :o))

--
Pierre CFI
MVP Microsoft Access
Mail : http://cerbermail.com/?z0SN8cN53B

Site pour bien commencer
Access http://users.skynet.be/mpfa/
Excel http://www.excelabo.net
Site perso
http://access.cfi.free.fr
"Jean bidule" a écrit dans le message de
news:41a06f3e$0$25068$
Bonjour Pierre,

Je peux bien l'appeler mais apparemment le bon range n'est plus prit en
compte.
J'ai un range nommé "ImpListe" qui fait référence aux cellules de la
feuille
"Shemas"
Si je veux lancer la macro alors que je me trouve dans la feuille
"Paramètres"; le range qu'il prend en compte est tout à fait différent;
du
moins ce n'est pas celui de la feuille "Shemas".

Sincères salutations et merci
Jean

"Pierre CFI [mvp]" a écrit dans le message de
news:
bonjour
fait ta macro dans un module standart (pas le module de classe d'une
feuille), comme çà tu l'appelle d'ou tu veux

--
Pierre CFI
MVP Microsoft Access
Mail : http://cerbermail.com/?z0SN8cN53B

Site pour bien commencer
Access http://users.skynet.be/mpfa/
Excel http://www.excelabo.net
Site perso
http://access.cfi.free.fr
"Jean bidule" a écrit dans le message de
news:41a0669f$0$30709$
Bonjour le forum,

j'ai créé une macro pour lancer une impression d'un range nommé (par
exemple
: "ImpListe") se trouvant sur la même page que le bouton de macro.
J'aimerais mettre une deuxième occurence de cette macro dans une
feuille
spéciale du même classeur.
Le but est d'avoir à disposition,
d'une part, la macro quand on se trouve sur la feuille où se trouve le
range
à imprimer;
et d'autre part de pouvoir utiliser une sorte de menu se trouvant dans
une
feuille nomée "Menu impression" dans laquelle je pourrais regrouper
toutes
les macros à boutons d'impression.

Merci beaucoup à vous
Jean
















Avatar
Jean bidule
Bonjour

La macro est enregistrée dans un module standard il me semble: nom du module
: "module1"

A mon avis, il faut peut-être ajouter une instruction ou deux pour
généraliser la macro:
du genre
1) FA = feuille actuelle
2) aller à la feuille "shema"
3) lancer l'impression
4) revenir à la feuille FA (du point 1)

Mais quelle est l'instruction qui me donne dans une macro le nom de la
feuille actuelle (FA) ?

Sincères salutations et merci
Jean

"E KERGRESSE" a écrit dans le message
de news:

Salut Jean,

Si ta macro d'impression est placée dans un module standard (et non dans
une
feuille), elle est utilisable sur toutes tes feuilles. Il faut donc
maintenant l'adapter au contexte de tes feuilles, pour imprimer les zones
qu'il faut en fonction du nom de la feuille. Tu peux facilement utiliser
un
Select Case testant le nom de la feuille pour définir chaque aire à
imprimer.

Cordialement.


"Jean bidule" a écrit dans le message de news:
41a0669f$0$30709$
Bonjour le forum,

j'ai créé une macro pour lancer une impression d'un range nommé (par
exemple

: "ImpListe") se trouvant sur la même page que le bouton de macro.
J'aimerais mettre une deuxième occurence de cette macro dans une feuille
spéciale du même classeur.
Le but est d'avoir à disposition,
d'une part, la macro quand on se trouve sur la feuille où se trouve le
range

à imprimer;
et d'autre part de pouvoir utiliser une sorte de menu se trouvant dans
une
feuille nomée "Menu impression" dans laquelle je pourrais regrouper
toutes
les macros à boutons d'impression.

Merci beaucoup à vous
Jean








Avatar
Pierre CFI [mvp]
tu precises dans ton code
ActiveSheet.range(..
si tu veux stocker dans une variable le nom de la feuille active pour y revenir aprés
dim MaF as string
MaF = Activesheet.name
...
.....
Worksheets(MaF).activate

--
Pierre CFI
MVP Microsoft Access
Mail : http://cerbermail.com/?z0SN8cN53B

Site pour bien commencer
Access http://users.skynet.be/mpfa/
Excel http://www.excelabo.net
Site perso
http://access.cfi.free.fr
"Jean bidule" a écrit dans le message de news:41a0733c$0$13476$
Si si c'est exactement la même macro.
Elle devrait, peu importe la feuille où je me trouve, imprimer exactement la
même chose (la zone d'impression doit être la même)
Par exemple si je me trouve dans la feuille "Paramètres" et que j'appuie sur
un bouton "print shema", cela devrait imprimer exactement la même zone
d'impression que si j'appuie sur un deuxième bouton "print shema" (mais
lancant la même macro) situé dans la feuille "Shemas".

A mon avis, il faut peut-être ajouter une instruction ou deux pour
généraliser la macro:
du genre
1) FA = feuille actuelle
2) aller à la feuille "shema"
3) lancer l'impression
4) revenir à la feuille FA (du point 1)

Mais quelle est l'instruction qui me donne dans une macro le nom de la
feuille actuelle (FA) ?

Sincères salutations et merci
Jean

"Pierre CFI [mvp]" a écrit dans le message de
news: %
.../...
donc ce n'est pas la méme macro :o))

--
Pierre CFI
MVP Microsoft Access
Mail : http://cerbermail.com/?z0SN8cN53B

Site pour bien commencer
Access http://users.skynet.be/mpfa/
Excel http://www.excelabo.net
Site perso
http://access.cfi.free.fr
"Jean bidule" a écrit dans le message de
news:41a06f3e$0$25068$
Bonjour Pierre,

Je peux bien l'appeler mais apparemment le bon range n'est plus prit en
compte.
J'ai un range nommé "ImpListe" qui fait référence aux cellules de la
feuille
"Shemas"
Si je veux lancer la macro alors que je me trouve dans la feuille
"Paramètres"; le range qu'il prend en compte est tout à fait différent;
du
moins ce n'est pas celui de la feuille "Shemas".

Sincères salutations et merci
Jean

"Pierre CFI [mvp]" a écrit dans le message de
news:
bonjour
fait ta macro dans un module standart (pas le module de classe d'une
feuille), comme çà tu l'appelle d'ou tu veux

--
Pierre CFI
MVP Microsoft Access
Mail : http://cerbermail.com/?z0SN8cN53B

Site pour bien commencer
Access http://users.skynet.be/mpfa/
Excel http://www.excelabo.net
Site perso
http://access.cfi.free.fr
"Jean bidule" a écrit dans le message de
news:41a0669f$0$30709$
Bonjour le forum,

j'ai créé une macro pour lancer une impression d'un range nommé (par
exemple
: "ImpListe") se trouvant sur la même page que le bouton de macro.
J'aimerais mettre une deuxième occurence de cette macro dans une
feuille
spéciale du même classeur.
Le but est d'avoir à disposition,
d'une part, la macro quand on se trouve sur la feuille où se trouve le
range
à imprimer;
et d'autre part de pouvoir utiliser une sorte de menu se trouvant dans
une
feuille nomée "Menu impression" dans laquelle je pourrais regrouper
toutes
les macros à boutons d'impression.

Merci beaucoup à vous
Jean




















Avatar
E KERGRESSE
Dim FeuilleActuelle as Worksheet

Set FeuilleActuelle = Sheets("FA") ' Dans le mesure où FA est le nom de ta
feuille actuelle, à adpater.

Sheets("shema").activate
....lancer l'impression...
FeuilleActuelle.activate

Set FeuilleActuelle = Nothing



"Jean bidule" a écrit dans le message de news:
41a07516$0$31945$
Bonjour

La macro est enregistrée dans un module standard il me semble: nom du
module

: "module1"

A mon avis, il faut peut-être ajouter une instruction ou deux pour
généraliser la macro:
du genre
1) FA = feuille actuelle
2) aller à la feuille "shema"
3) lancer l'impression
4) revenir à la feuille FA (du point 1)

Mais quelle est l'instruction qui me donne dans une macro le nom de la
feuille actuelle (FA) ?

Sincères salutations et merci
Jean

"E KERGRESSE" a écrit dans le
message

de news:

Salut Jean,

Si ta macro d'impression est placée dans un module standard (et non dans
une
feuille), elle est utilisable sur toutes tes feuilles. Il faut donc
maintenant l'adapter au contexte de tes feuilles, pour imprimer les
zones


qu'il faut en fonction du nom de la feuille. Tu peux facilement utiliser
un
Select Case testant le nom de la feuille pour définir chaque aire à
imprimer.

Cordialement.


"Jean bidule" a écrit dans le message de news:
41a0669f$0$30709$
Bonjour le forum,

j'ai créé une macro pour lancer une impression d'un range nommé (par
exemple

: "ImpListe") se trouvant sur la même page que le bouton de macro.
J'aimerais mettre une deuxième occurence de cette macro dans une
feuille



spéciale du même classeur.
Le but est d'avoir à disposition,
d'une part, la macro quand on se trouve sur la feuille où se trouve le
range

à imprimer;
et d'autre part de pouvoir utiliser une sorte de menu se trouvant dans
une
feuille nomée "Menu impression" dans laquelle je pourrais regrouper
toutes
les macros à boutons d'impression.

Merci beaucoup à vous
Jean












1 2