VBA - trouver le nom du formulaire ou du contrôle

HemGe Messages postés 2 Date d'inscription samedi 18 septembre 2004 Statut Membre Dernière intervention 3 décembre 2004 - 3 déc. 2004 à 10:06
HemGe Messages postés 2 Date d'inscription samedi 18 septembre 2004 Statut Membre Dernière intervention 3 décembre 2004 - 3 déc. 2004 à 12:22
Bonjour et déjà merci.

Sous Access2003 et XP pro.

Dans un module VBA standard (pas un module de formulaire), comment faire pour connaître :

1. le nom du formulaire ou de l'état courant
sachant que ce formulaire ou état n'est pas dans la fenêtre active, ce qui exclut l'usage de Me ou de Screen. Sauf erreur de ma part.

2. le nom du controle qui a appelé une fonction

Si l'un ou l'une d'entre vous a une idée, cela m'aidera beaucoup.
Merci

Michel

2 réponses

Cramfr Messages postés 160 Date d'inscription mercredi 24 novembre 2004 Statut Membre Dernière intervention 8 juillet 2008
3 déc. 2004 à 11:09
Salut,
As tu essayés avec l'object : CodeContextObject

Cramsoturf le VBien en quête de nouveau programme :big)
0
HemGe Messages postés 2 Date d'inscription samedi 18 septembre 2004 Statut Membre Dernière intervention 3 décembre 2004
3 déc. 2004 à 12:22
Merci Cramfr,

Toute la solution tient dans CodeContextObject (que je n'avais jamais utilisé ni approfondi).

Si cela peut aider quelques autres :
Le but est d'écrire des procédures génériques stockées dans un module standard et de pouvoir les appeler à partir d'autres modules et à partir de n'importe quelle forme et, si possible, également de n'importe quel état sans modifier le code.
Gain en fiabilité, en temps de programmation et de maintenance, ainsi qu'en place.

++ Me ++ ne fonctionne que dans les modules de formulaire (et je suppose d'état)

++ Screen.ActiveForm ++ fonctionne avec un module standard
TANDIS QUE
Screen.ActiveReport donne une erreur avec un module standard
Erreur 2476 : nécessite que l'état se trouve dans la fenêtre active.

Différence de comportement donc imputable à .... sachant que j'ai testé dans les mêmes conditions (formulaire sauvé comme état)

++ CodeContextObject ++ fonctionne impeccablement aussi bien avec un formulaire qu'avec un état.

Bonne fin de journée
Michel
0
Rejoignez-nous