OVH Cloud OVH Cloud

Connaitre la worksheets d'une macro

13 réponses
Avatar
Ludovic Laé
Bonjour,
j'ai créer une macro dans une worksheet et j'aimerais justement bien
connaître la worksheet qui contient cette macro pour la passer en
référence à d'autre fonction. Cela me permettrait de rendre le code
indépendant du nom de la wotksheet ou de sa position dans le classeur.
Est-ce possible?

Merci d'avance

3 réponses

1 2
Avatar
JLuc
*Bonjour Ludovic Laé*,


La solution utilisant Worksheets(Name) est indépendante du nom de la
worksheet. Le nom ("feuil1") et la position (1) sont des choses qui peuvent
changer ; c'est pour cette raison que je voulais un pointeur vers l'objet
indépendant de ceux-ci.

Merci à vous.


Si tu utilise le codename, il n'y aura pas de problemes que tu change
soit la position de la feuille soit le nom de l'onglet. Par contre, si
tu change le codename directement dans VBE, là, tu aura des soucis.
Mais dans ce cas la, il faut ecrire ta macro dans un module standard et
y faire appel dans ton code de feuille ;-)

--
____
( O | O )
--
_oooO_ JLuc _Oooo_

O-O

Avatar
lSteph
Mais c'est précisément ce que je t'explique!
Utiliser le CodeName Feuil2.

et non le nom Worksheets("Feuil2") qui peut très bien se trouver être
Feuil74
et se trouver à la position sheets(12)

"Ludovic Laé" a écrit dans le message de news:

La solution utilisant Worksheets(Name) est indépendante du nom de la
worksheet. Le nom ("feuil1") et la position (1) sont des choses qui
peuvent changer ; c'est pour cette raison que je voulais un pointeur vers
l'objet indépendant de ceux-ci.

Merci à vous.

...peut-être pour l'instant mais le mieux (Jluc l'a évoqué aussi) c'est
le
CodeName
exemple:
Dans l'explorateur de projet à droite dans VBE (sinon affiche le)
dans les feuilles tu peux très bien trouver
Feuil1(Feuil1)
Feuil2(Mafeuille)
Feuil3(Feuil6)
Feuil4(Feuil3)
Feuil5(Feuil5)

Alors plutôt qu'utiliser exemple:
Worksheets("Mafeuille").activate
Tu peux dire direct:
Feuil2.activate

'lSteph

"Ludovic Laé" a écrit dans le message de news:

Ha ca, c'est beaucoup mieux :)

worksheets(Name) pointe bien vers la worksheet contenant le code.

Merci beaucoup :)


...(suite)...
outre le libellé de la feuille .Name
ou
son numéro dans l'ordre des feuilles Worksheets(n)
on peut en dur faire référence au CodeName
Feuil1.

Cordialement.

lSteph
"Ludovic Laé" a écrit dans le message de news:
%
Bonjour,
j'ai créer une macro dans une worksheet et j'aimerais justement bien
connaître la worksheet qui contient cette macro pour la passer en
référence à d'autre fonction. Cela me permettrait de rendre le code
indépendant du nom de la wotksheet ou de sa position dans le classeur.
Est-ce possible?

Merci d'avance











Avatar
lSteph
;o)) Ok!

"Ludovic Laé" a écrit dans le message de news:

Autant pour moi, je n'avais pas compris la réponse.

...peut-être pour l'instant mais le mieux (Jluc l'a évoqué aussi) c'est
le
CodeName
exemple:
Dans l'explorateur de projet à droite dans VBE (sinon affiche le)
dans les feuilles tu peux très bien trouver
Feuil1(Feuil1)
Feuil2(Mafeuille)
Feuil3(Feuil6)
Feuil4(Feuil3)
Feuil5(Feuil5)

Alors plutôt qu'utiliser exemple:
Worksheets("Mafeuille").activate
Tu peux dire direct:
Feuil2.activate

'lSteph

"Ludovic Laé" a écrit dans le message de news:

Ha ca, c'est beaucoup mieux :)

worksheets(Name) pointe bien vers la worksheet contenant le code.

Merci beaucoup :)


...(suite)...
outre le libellé de la feuille .Name
ou
son numéro dans l'ordre des feuilles Worksheets(n)
on peut en dur faire référence au CodeName
Feuil1.

Cordialement.

lSteph
"Ludovic Laé" a écrit dans le message de news:
%
Bonjour,
j'ai créer une macro dans une worksheet et j'aimerais justement bien
connaître la worksheet qui contient cette macro pour la passer en
référence à d'autre fonction. Cela me permettrait de rendre le code
indépendant du nom de la wotksheet ou de sa position dans le classeur.
Est-ce possible?

Merci d'avance











1 2