RETROUVER LE NOM D'UNE FEUILLE FORM PARENT D'UN OBJET [Résolu]

Signaler
Messages postés
59
Date d'inscription
lundi 8 novembre 2004
Statut
Membre
Dernière intervention
14 janvier 2016
-
Messages postés
59
Date d'inscription
lundi 8 novembre 2004
Statut
Membre
Dernière intervention
14 janvier 2016
-
 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

Messages postés
7393
Date d'inscription
mercredi 23 avril 2003
Statut
Membre
Dernière intervention
6 avril 2012
56
Salut,
As tu essayé ceci?

Dim NomConteneur As String
NomConteneur = UserControl.Parent.Name

@+: Ju£i?n
Pensez: Réponse acceptée
Messages postés
7668
Date d'inscription
samedi 5 novembre 2005
Statut
Membre
Dernière intervention
22 août 2014
26
Me.Name n'est pas suffisant ?
Messages postés
7741
Date d'inscription
mercredi 1 septembre 2004
Statut
Membre
Dernière intervention
24 septembre 2014
37
"...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 #
Messages postés
7668
Date d'inscription
samedi 5 novembre 2005
Statut
Membre
Dernière intervention
22 août 2014
26
Ah !
Je vois : tu veux DANS le contrôle activex...
Au runtime ou au design time ?
Messages postés
59
Date d'inscription
lundi 8 novembre 2004
Statut
Membre
Dernière intervention
14 janvier 2016

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.
Messages postés
59
Date d'inscription
lundi 8 novembre 2004
Statut
Membre
Dernière intervention
14 janvier 2016

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
Messages postés
7741
Date d'inscription
mercredi 1 septembre 2004
Statut
Membre
Dernière intervention
24 septembre 2014
37
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 #
Messages postés
59
Date d'inscription
lundi 8 novembre 2004
Statut
Membre
Dernière intervention
14 janvier 2016

Faut-il déclarer la collection ou est-elle déjà inclue dans le projet ?

Copyrightx
Messages postés
7741
Date d'inscription
mercredi 1 septembre 2004
Statut
Membre
Dernière intervention
24 septembre 2014
37
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 #
Messages postés
7668
Date d'inscription
samedi 5 novembre 2005
Statut
Membre
Dernière intervention
22 août 2014
26
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....
Messages postés
13280
Date d'inscription
lundi 13 décembre 2004
Statut
Modérateur
Dernière intervention
3 février 2018
42
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
Messages postés
59
Date d'inscription
lundi 8 novembre 2004
Statut
Membre
Dernière intervention
14 janvier 2016

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
Messages postés
59
Date d'inscription
lundi 8 novembre 2004
Statut
Membre
Dernière intervention
14 janvier 2016

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 !