IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Macros et VBA Excel Discussion :

Récupérer la propriété name d'un Usf


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Mars 2010
    Messages
    20
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2010
    Messages : 20
    Par défaut Récupérer la propriété name d'un Usf
    Bonjour,

    Quelqu'un aurait-il une idée pour récupérer la propriété name d'un UserForm (celui qui a le focus) afin d'en faire une variable de type chaîne ?

    J'ai bien essayé la propriété item de la collection UserForms... mais sans grand succès (sans petit non plus d'ailleurs).

    Merci à ceux qui auraient des lumières sur cette question !

  2. #2
    Membre confirmé
    Inscrit en
    Août 2010
    Messages
    168
    Détails du profil
    Informations forums :
    Inscription : Août 2010
    Messages : 168
    Par défaut
    Euh bah Userform1.Name nan?

    Pas sur d'avoir compris ton probleme?!? :/


    Chipss

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Mars 2010
    Messages
    20
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2010
    Messages : 20
    Par défaut Oups....
    Merci Chipps d'avoir répondu... mais je pense en effet que je n'ai pas été très clair dans ma présentation.

    J'ai 11 usf correspondant à différentes "catégories" qui contiennent chacun une vingtaine d' OptionButton. La validation de l'un ou l'autre d'entre eux est prise en charge par un module de classe qui provoque la fermeture de l'usf et la récupération de différents paramètres. Jusque là, pas de souci... mais parmi les paramètres dont j'ai besoin se situe le nom de l'usf qui vient d'être fermé et que je voudrais récupérer en variable.

    Je précise que le module de classe crée une collection d'OptionButtons sans se préoccuper de l'usf actif. Au bout du compte la question serait la suivante : comment reconnaître l'usf actif et récupérer des informations comme son nom (ou le caption).

    Bien sûr, il serait possible de nommer au fur et à mesure l'usf actif, mais je me demande tout de même s'il serait possible d'identifier l'usf actif d'une autre manière... et je n'ai rien trouvé là-dessus dans la FAQ...

    Merci à ceux qui auront des idées...

  4. #4
    Expert confirmé
    Avatar de MarcelG
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juillet 2009
    Messages
    3 449
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 67
    Localisation : France, Maine et Loire (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Finance

    Informations forums :
    Inscription : Juillet 2009
    Messages : 3 449
    Billets dans le blog
    7
    Par défaut USERFORM
    Bonsoir,

    Un userform qui a le focus ?

    D'autre part, les items concernent, en règle générale, les listbox et les combobox.

    A lire avant de préciser ta question.

    http://silkyroad.developpez.com/VBA/ControlesUserForm/

  5. #5
    Expert confirmé
    Avatar de MarcelG
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juillet 2009
    Messages
    3 449
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 67
    Localisation : France, Maine et Loire (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Finance

    Informations forums :
    Inscription : Juillet 2009
    Messages : 3 449
    Billets dans le blog
    7
    Par défaut NOM userform actif
    Rebonsoir,

    J'ai trouvé une discussion sur ce forum à ce sujet.

    http://www.developpez.net/forums/d48...orm-actif-vba/

    La propriété "Parent" y est évoquée.

    Sinon dans la procédure évènementielle Activate de tes userform , tu peux écrire

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Private Sub UserForm_Activate()
    MsgBox Me.Name
    End Sub

  6. #6
    Membre averti
    Profil pro
    Inscrit en
    Mars 2010
    Messages
    20
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2010
    Messages : 20
    Par défaut Nom récupéré... mais reste à l'utiliser !
    Bonjour Marcel, et les autres lecteurs...

    Merci pour la référence à cet échange. L'utilisation de parent permet effectivement de récupérer le nom de l'usf contenant l'optionbutton membre de la collection sur laquelle s'applique le module de classe.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    nom_usf = cmd1.parent.name
    Le problème est ensuite d'utiliser ce nom dans une commande du type

    Si tu as encore des suggestions sur ce point ce serait parfait pour moi. J'ai bien essayé d'utiliser la collection UserForms, mais elle ne semble pas accepter le nom de l'usf comme élément de la collection. En revanche ceci permet d'évoquer une autre solution pour récupérer le nom de l'usf actif :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    Usf_cpt = UserForms.count - 1  'L'index du premier usf de la collection est 0
    nom_usf = UserForms(Usf_cpt).name

  7. #7
    Membre averti
    Profil pro
    Inscrit en
    Mars 2010
    Messages
    20
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2010
    Messages : 20
    Par défaut Cette fois c'est bon !
    C'est bon, le problème est résolu :

    La procédure ci-dessous intervient dans un module de classe dont la collection est constitué d'OptionButtons (ici Cmd1). Quand la valeur de l'un d'entre eux change, le nombre d'usf ouverts est enregistré dans Usf_Cpt (-1 pour avoir l'index de l'usf actif). Nom_Ctrl correspond à l'intitulé d'un label (associé à l'OptionButton dont la valeur vient de changer). Usf_EC est une variable objet renvoyant à l'identification de l'usf actif (qui sera fermé en dernière ligne). Dans l'avant-dernière ligne l'intitulé du label d'un autre usf est mis à jour.

    Merci à ceux qui m'ont mis sur la voie pour cette solution.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    Private Sub Cmd1_Change()
        Nom_Ctrl = Cmd1.Caption & "_Lab"
        Usf_Cpt = UserForms.Count - 1
        Set Usf_EC = UserForms(Usf_Cpt)
        Valid_par_comp.Comp_a_valider = Usf_EC.Controls(Nom_Ctrl).Caption
        Unload Usf_EC
    End Sub

  8. #8
    Expert confirmé
    Avatar de MarcelG
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juillet 2009
    Messages
    3 449
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 67
    Localisation : France, Maine et Loire (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Finance

    Informations forums :
    Inscription : Juillet 2009
    Messages : 3 449
    Billets dans le blog
    7
    Par défaut fermer userform
    Bonjour,

    Pour lister la liste des userforms de ton projet, comme pour fermer tous tes userforms, vois le tuto de Silkyroad.

    http://silkyroad.developpez.com/VBA/UserForm/

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. récupérer propriété name d'un objet sur click
    Par Nuclear88 dans le forum ActionScript 3
    Réponses: 1
    Dernier message: 09/09/2013, 09h21
  2. Récupérer les propriétés d'un PDF
    Par nonaparus dans le forum Contribuez
    Réponses: 3
    Dernier message: 24/08/2006, 12h23
  3. ajouter une propriété name
    Par butch dans le forum Delphi
    Réponses: 6
    Dernier message: 16/05/2006, 17h18
  4. Récupérer des propriétés système...
    Par nikalkal dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 05/05/2006, 16h51
  5. Récupérer des propriétés système en Java
    Par nikalkal dans le forum Général Java
    Réponses: 9
    Dernier message: 05/05/2006, 16h50

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo