OVH Cloud OVH Cloud

Me

1 réponse
Avatar
Stéphane Lavergne
Bonjour,

Je n'arrive pas à savoir ce que retourne Me.

En fait, j'aimerais faire regrouper dans 1 procédure du code commun.

En effet, dans 1 procédure, j'ai
Me.Controle1=var1
...
Me.Controle17=var17

Et dans 1 autre procédure, j'ai :
Forms("MonFormulaire").Controle1=var1
...
Forms("MonFormulaire").Controle17=var17


J'aimerais donc remplacer dans la 1ère procédure par :
Call MaProcédure(Me)

et dans la 2e, par :
Call MaProcédure(Forms("MonFormulaire"))

Et avoir ainsi 1 nouvelle procédure :
Sub MaProcédure(MaVariable AS JeNeSaisPasCommentDéclarerMaVariable)
MaVariable.Controle1=var1
...
MaVariable.Controle17=var17


Vous voyez tout de suite mon problème qui se situe dans
JeNeSaisPasCommentDéclarerMaVariable.


Merci d'avance pour votre aide


--
Cordialement,

Stéphane Lavergne

1 réponse

Avatar
Raymond
Bonjour.

Me représente un objet, l'objet dans lequel on se trouve, c'est-à-dire que
Me fait référence à l'instance de classe dans laquelle il se trouve.
si on fait appel à un contrôle CTL1 dans le formulaire1 chargé:
à partir de n'importe où :
Forms("Formulaire1").controls("CTL1").visible = true
à partir du formulaire lui-même: Me.CTL1.visible = True

aide en ligne:

Le mot clé Me se comporte comme une variable déclarée de façon implicite. Il
est automatiquement disponible pour toutes les procédures d'un module de
classe. Lorsqu'une classe peut comporter plusieurs instances, le mot clé Me
offre la possibilité de faire référence à l'instance de la classe dans
laquelle le code est exécuté. Il s'avère particulièrement utile pour passer
les informations concernant l'instance d'une classe en cours d'exécution à
une procédure d'un autre module. Par exemple, supposez que la procédure
suivante se présente dans un module :

Sub ChangeFormColor(FormName As Form)
FormName.BackColor = RGB(Rnd * 256, Rnd * 256, Rnd * 256)
End Sub
Vous pouvez appeler cette procédure et passer l'instance en cours de la
classe Form comme un argument à l'aide de l'instruction suivante :

ChangeFormColor Me

--
@+
Raymond Access MVP.
http://access.seneque.free.fr/
http://access2003.free.fr/
http://users.skynet.be/mpfa/charte.htm pour une meilleure
efficacité de tes interventions sur MPFA.


"Stéphane Lavergne" a écrit dans le message de
news:
Bonjour,

Je n'arrive pas à savoir ce que retourne Me.

En fait, j'aimerais faire regrouper dans 1 procédure du code commun.

En effet, dans 1 procédure, j'ai
Me.Controle1=var1
...
Me.Controle17=var17

Et dans 1 autre procédure, j'ai :
Forms("MonFormulaire").Controle1=var1
...
Forms("MonFormulaire").Controle17=var17


J'aimerais donc remplacer dans la 1ère procédure par :
Call MaProcédure(Me)

et dans la 2e, par :
Call MaProcédure(Forms("MonFormulaire"))

Et avoir ainsi 1 nouvelle procédure :
Sub MaProcédure(MaVariable AS JeNeSaisPasCommentDéclarerMaVariable)
MaVariable.Controle1=var1
...
MaVariable.Controle17=var17


Vous voyez tout de suite mon problème qui se situe dans
JeNeSaisPasCommentDéclarerMaVariable.


Merci d'avance pour votre aide


--
Cordialement,

Stéphane Lavergne