RETROUVER LE NOM D'UNE FEUILLE FORM PARENT D'UN OBJET

Résolu
copyrightx
Messages postés
59
Date d'inscription
lundi 8 novembre 2004
Statut
Membre
Dernière intervention
14 janvier 2016
- 7 nov. 2006 à 09:12
copyrightx
Messages postés
59
Date d'inscription
lundi 8 novembre 2004
Statut
Membre
Dernière intervention
14 janvier 2016
- 13 nov. 2006 à 13:20
 Bonjour à tous,

Voilà en fait je recherche un moyen de récupérer le nom (pas la Caption) d'une feuille form parent d'un objet (de type contrôle ActiveX). Je ne travail pas avec des feuilles MDI. Le contrôle est inséré sur la form et doit récupérer le nom de celle-ci pour pouvoir l'exploiter dans une fonction (elle même placée dans le code du contrôle). Le nom de la feuille form parent doit ainsi être enregistré dans une variable définie dans le contrôle.

Si vous avez une réponse à me donner, elle est la bienvenue !

Merci à tous,
Copyrightx.

13 réponses

jrivet
Messages postés
7393
Date d'inscription
mercredi 23 avril 2003
Statut
Membre
Dernière intervention
6 avril 2012
60
7 nov. 2006 à 09:23
Salut,
As tu essayé ceci?

Dim NomConteneur As String
NomConteneur = UserControl.Parent.Name

@+: Ju£i?n
Pensez: Réponse acceptée
3
jmfmarques
Messages postés
7668
Date d'inscription
samedi 5 novembre 2005
Statut
Membre
Dernière intervention
22 août 2014
27
7 nov. 2006 à 09:20
Me.Name n'est pas suffisant ?
0
cs_casy
Messages postés
7741
Date d'inscription
mercredi 1 septembre 2004
Statut
Membre
Dernière intervention
24 septembre 2014
41
7 nov. 2006 à 09:23
"...pour pouvoir l'exploiter dans une fonction .... Le nom de la feuille form parent
doit ainsi être enregistré dans une variable..."

Je ne sais pas ce que tu souhaite en faire, mais si c'ets pour acceder à la feuille elle-même ou à d'autre objets de la feuille, le nom c'est Me (à condition que le code soit dans la feuille et non dans un module à coté).

Sinon tu peux le retrouvé avec TonObjet.Parent.Name

Quant à utiliser un controle dont le nom serait contenu dans une variable, c'est possible mais pas simple à mettre oeuvre. Il vaut mieux passer le controle en question en paramètre.

---- Sevyc64  (alias Casy) ----<hr size="2" width="100%" /># LE PARTAGE EST NOTRE FORCE #
0
jmfmarques
Messages postés
7668
Date d'inscription
samedi 5 novembre 2005
Statut
Membre
Dernière intervention
22 août 2014
27
7 nov. 2006 à 09:26
Ah !
Je vois : tu veux DANS le contrôle activex...
Au runtime ou au design time ?
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
copyrightx
Messages postés
59
Date d'inscription
lundi 8 novembre 2004
Statut
Membre
Dernière intervention
14 janvier 2016

7 nov. 2006 à 09:29
Exactement !

En fait le contrôle doit récupérer le nom de SA feuille parent. Si je fait Me.Name dans le contrôle ActiveX cela me plante une erreur car je n'est pas défini de propriété .Name dans le contrôle ActiveX et ce n'est pas ce que je veux.
0
copyrightx
Messages postés
59
Date d'inscription
lundi 8 novembre 2004
Statut
Membre
Dernière intervention
14 janvier 2016

7 nov. 2006 à 09:43
Je pense que la réponse de jrivet doit foncionner. Là où je suis pour le moment je ne peut pas tester mais si le contrôle ActiveX peut le récupérer de la sorte je veux bien le croire...

Je confirmerait la semaine prochaine, merci à vous.

Copyrightx
0
cs_casy
Messages postés
7741
Date d'inscription
mercredi 1 septembre 2004
Statut
Membre
Dernière intervention
24 septembre 2014
41
7 nov. 2006 à 09:53
Si c'est dans un controle que tu fais toi, tu peux récupérer les infos à l'aide de la collection Extender :

Me.Extender.Parent

La collection Extender renvoie les propriétés de ton controle telles qu'elles sont vues coté utilisation (par ex depuis la feuille ou tu pose le controle)

---- Sevyc64  (alias Casy) ----<hr size="2" width="100%" /># LE PARTAGE EST NOTRE FORCE #
0
copyrightx
Messages postés
59
Date d'inscription
lundi 8 novembre 2004
Statut
Membre
Dernière intervention
14 janvier 2016

7 nov. 2006 à 10:01
Faut-il déclarer la collection ou est-elle déjà inclue dans le projet ?

Copyrightx
0
cs_casy
Messages postés
7741
Date d'inscription
mercredi 1 septembre 2004
Statut
Membre
Dernière intervention
24 septembre 2014
41
7 nov. 2006 à 10:13
Pas de déclaration je pense, elle fait partie intégrante de ton controle.

---- Sevyc64  (alias Casy) ----<hr size="2" width="100%" /># LE PARTAGE EST NOTRE FORCE #
0
jmfmarques
Messages postés
7668
Date d'inscription
samedi 5 novembre 2005
Statut
Membre
Dernière intervention
22 août 2014
27
7 nov. 2006 à 10:27
Je repose ma question :

Au runtime ou au design time de ton appli (celle où tu mets ton contrôle) ?
En d'autres termes : quand ton appli "tourne" ou quand tu es en train de la développer (et dans ce dernier cas, à quel moment ? Au moment où tu insères ton ocx ? A un autre moment et lequel ?)


Car ce n'est pas la même chose, bien évidemment....
0
PCPT
Messages postés
13280
Date d'inscription
lundi 13 décembre 2004
Statut
Membre
Dernière intervention
3 février 2018
50
7 nov. 2006 à 11:08
salut
aux 2 moment (sauf si c'est dans l'initialize), la solution de JRivet fonctionnera

++
<hr size="2" width="100%" />Prenez un instant pour répondre à ce sondage svp
0
copyrightx
Messages postés
59
Date d'inscription
lundi 8 novembre 2004
Statut
Membre
Dernière intervention
14 janvier 2016

7 nov. 2006 à 13:02
Au runtime de l'application. En fait, on insère le contrôle et il ne se passe rien (un peu comme un timer), c'est donc au runtime que le contrôle entre en action et récupère le nom de la fenêtre parent. Mais cela ne me dérange pas de le récupérer au design time.

Copyrightx
0
copyrightx
Messages postés
59
Date d'inscription
lundi 8 novembre 2004
Statut
Membre
Dernière intervention
14 janvier 2016

13 nov. 2006 à 13:20
Merci à jrivet pour la réponse,

Effectivement, la réponse n'était, après réflexion, pas véritablement difficile, et ce, même pour moi  ...

RETROUVER LE NOM D'UNE FEUILLE FORM PARENT D'UN OBJET :

"UserControl.Name" directement dans le code du UserControl.

Note : le type du paramêtre à passer à la fonction était de type "Object", UserControl.Name suffisait donc

Merci à tous pour votre participation !
0