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

2 réponses

1 2
Avatar
Jean bidule
Merci Pierre, juste ce qu'il me fallait!!

Ca fonctionne super comme ça mais j'ai dû employer
Worksheets("Sheets").activate
à la place de ActiveSheet.range("Shemas") qui n'avait pas de réactions.

Encore un grand merci Pierre
Jean

"Pierre CFI [mvp]" a écrit dans le message de
news:
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
Jean bidule
Ok ca fonctionne!!

Un grand merci pour votre dévouement.

Jean
"E KERGRESSE" a écrit dans le message
de news:
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