OVH Cloud OVH Cloud

Me ???????

3 réponses
Avatar
Sébastien WICKER
Que veut dire le "Me" ds
Unload Me
Me.hide

3 réponses

Avatar
MichDenis
Bonjour Sébastion,

Me s'utilise seulement dans les modules de classes autrement dit partout sauf dans les modules standard.

Le mot "Me" personnifie le module de classe lui-même dans lequel le mot est inscrit.

Dans ce cas, Me ou Userform1 signifie la même chose.

D'autres exemple :

Si tu es dans un module feuil dont le code name est Feuil1

Inscrire Feuil1.Range("A1")= X ou Me.Range("A1") = X , c'est la même chose


Salutations!


"Sébastien WICKER" a écrit dans le message de news: 420fd155$0$17280$
Que veut dire le "Me" ds
Unload Me
Me.hide
Avatar
Michel Gaboly
Bonsoir Michel,


Globalement d'accord avec toi, avec des nuances :-))

1 - "Me" représente l'objet associé (le classeur pour ThisWorkbook, la
feuille ou le UserForm pour le module associé et non le module lui-même.

2 - Feuil1.Range("A1")= X ou Me.Range("A1") = X ne sont pas tout à fait
équivalents : si on renomme le CodeName,

Me.Range("A1") = X continuera à fonctionner tandis que

Feuil1.Range("A1")= X plantera.

Par conséquent il vaut toujours mieux utiliser "Me" que le nom de l'objet.

D'autre part, mais c'est un détail, dans les 2 cas, Range("A1") = X est
suffisant.



Bonjour Sébastion,

Me s'utilise seulement dans les modules de classes autrement dit partout sauf dans les modules standard.

Le mot "Me" personnifie le module de classe lui-même dans lequel le mot est inscrit.

Dans ce cas, Me ou Userform1 signifie la même chose.

D'autres exemple :

Si tu es dans un module feuil dont le code name est Feuil1

Inscrire Feuil1.Range("A1")= X ou Me.Range("A1") = X , c'est la même chose


Salutations!


"Sébastien WICKER" a écrit dans le message de news: 420fd155$0$17280$
Que veut dire le "Me" ds
Unload Me
Me.hide






--
Cordialement,

Michel Gaboly
www.gaboly.com

Avatar
MichDenis
Bonjour Michel,

1 - "Me" représente l'objet associé (le classeur pour ThisWorkbook, la
feuille ou le UserForm pour le module associé et non le module lui-même.

OU CECI :

Le mot "Me" personnifie le module de classe lui-même dans lequel le mot est inscrit.

*** Tu vois une différence ? T'as eu besoin de 2 lignes pour le définir ....!



2 - Feuil1.Range("A1")= X ou Me.Range("A1") = X ne sont pas tout à fait
équivalents : si on renomme le CodeName,
***Je parlais de la signification des objets et non de leur flexibilité ...!

Feuil1.Range("A1")= X plantera.
*** Si cela plante, change d'ordinateur ... !

Par conséquent il vaut toujours mieux utiliser "Me" que le nom de l'objet.
*** Ce n'était pas l'objet de la quetion


Salutations!