Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Excel 2003 - Référence d'une macro

3 réponses
Avatar
thomas
Bonjour,

J'affecte une macro à un bouton et dans certains cas le nom de la macro est
précédé du nom du module suivi de "!" alors que la macro n'est présente que
dans un seul module

Cela est dû à quoi?

Merci

3 réponses

Avatar
michdenis
Quand tu as le nom du classeur suivi du nom de la macro
par exemple : Perso.xls!toto

Cela signifie que la macro est situé dans un MODULE STANDARD
du classeur perso.xls. Lorsque les macros sont dans un module
standard, il n'est pas obligatoire de spécifier le nom du
module standard. Il est en tout autrement quand les macros
sont situés dans un module de classe. En vba, sauf les
modules standard, tous les autres modules sont des
modules de classe "Feuil", "ThisWorkbook" et l'ajout
de module de classe au besoin.

Lorsque ta macro est dans un module de classe
comme : Perso.xls!Feuil1.test
siginifie que la macro est dans le module de classe "FEUIL1" du classeur
perso.xls

Lorsque la macro est dans le même classeur, le nom du
classeur n'a pas besoin d'apparaître.



"thomas" <nomail> a écrit dans le message de news:

Bonjour,

J'affecte une macro à un bouton et dans certains cas le nom de la macro est
précédé du nom du module suivi de "!" alors que la macro n'est présente que
dans un seul module

Cela est dû à quoi?

Merci
Avatar
thomas
rien compris

si module standard ca veut dire ailleurs que dans "Feuil", "ThisWorkbook"
alors toutes mes macros sont dans des modules standard et je n'en ai qu'une
seule qui apparaît avec Perso.xls!toto - pas dans la liste des macro mais en
référence d'un bouton

la macro en question est au même niveau que toutes les autres

"michdenis" a écrit dans le message de groupe de
discussion :
Quand tu as le nom du classeur suivi du nom de la macro
par exemple : Perso.xls!toto

Cela signifie que la macro est situé dans un MODULE STANDARD
du classeur perso.xls. Lorsque les macros sont dans un module
standard, il n'est pas obligatoire de spécifier le nom du
module standard. Il est en tout autrement quand les macros
sont situés dans un module de classe. En vba, sauf les
modules standard, tous les autres modules sont des
modules de classe "Feuil", "ThisWorkbook" et l'ajout
de module de classe au besoin.

Lorsque ta macro est dans un module de classe
comme : Perso.xls!Feuil1.test
siginifie que la macro est dans le module de classe "FEUIL1" du classeur
perso.xls

Lorsque la macro est dans le même classeur, le nom du
classeur n'a pas besoin d'apparaître.



"thomas" <nomail> a écrit dans le message de news:

Bonjour,

J'affecte une macro à un bouton et dans certains cas le nom de la macro est
précédé du nom du module suivi de "!" alors que la macro n'est présente que
dans un seul module

Cela est dû à quoi?

Merci
Avatar
michdenis
L'explication de la syntaxe que j'ai donné s'applique
à la liste des macros que tu perçois lorsque tu
fais un clic droit de la souris et que tu demande
d'affecter une macro au bouton de commande
émanant de la barre d'outils formulaire.

Justement dans cette fenêtre, lorsque vient le temps
de faire la sélection de la macro, regarde dans le bas
de la fenêtre, il y a une liste déroulante :"Macros dans"
Observe lequel des items est sélectionné car cela a une
incidence directe sur la liste des macros qui te sont présentées.

Au delà de ça, difficile d'en dire plus sauf si tu as une question
précise sur le sujet.




"thomas" <nomail> a écrit dans le message de news:

rien compris

si module standard ca veut dire ailleurs que dans "Feuil", "ThisWorkbook"
alors toutes mes macros sont dans des modules standard et je n'en ai qu'une
seule qui apparaît avec Perso.xls!toto - pas dans la liste des macro mais en
référence d'un bouton

la macro en question est au même niveau que toutes les autres

"michdenis" a écrit dans le message de groupe de
discussion :
Quand tu as le nom du classeur suivi du nom de la macro
par exemple : Perso.xls!toto

Cela signifie que la macro est situé dans un MODULE STANDARD
du classeur perso.xls. Lorsque les macros sont dans un module
standard, il n'est pas obligatoire de spécifier le nom du
module standard. Il est en tout autrement quand les macros
sont situés dans un module de classe. En vba, sauf les
modules standard, tous les autres modules sont des
modules de classe "Feuil", "ThisWorkbook" et l'ajout
de module de classe au besoin.

Lorsque ta macro est dans un module de classe
comme : Perso.xls!Feuil1.test
siginifie que la macro est dans le module de classe "FEUIL1" du classeur
perso.xls

Lorsque la macro est dans le même classeur, le nom du
classeur n'a pas besoin d'apparaître.



"thomas" <nomail> a écrit dans le message de news:

Bonjour,

J'affecte une macro à un bouton et dans certains cas le nom de la macro est
précédé du nom du module suivi de "!" alors que la macro n'est présente que
dans un seul module

Cela est dû à quoi?

Merci