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 :

Appeler une checkbox à partir d'un nom de variable [XL-2007]


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Candidat au Club
    Homme Profil pro
    Inscrit en
    Mai 2013
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Mai 2013
    Messages : 2
    Par défaut Appeler une checkbox à partir d'un nom de variable
    Bonjour,

    J'ai un petit problème pour manipuler une checkbox d'un userform à partir d'un string d'un tableau.
    Précisément, j'ai les noms de mes checkboxs dans un tableau et je souhaiterai appeler ces différentes checkboxs à partir des valeurs du tableau.
    Un truc du type "Userform.t(i).value".

    Merci de vos retours.

  2. #2
    Membre Expert Avatar de Gado2600
    Homme Profil pro
    Développeur Office VBA
    Inscrit en
    Mai 2013
    Messages
    904
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur Office VBA

    Informations forums :
    Inscription : Mai 2013
    Messages : 904
    Par défaut
    Bonjour,

    Ce n'est pas aussi facile que ce que tu mis en code pour ce que tu veux faire...

    Il te faut :
    • Une variable de type control, checkbox ou object
    • Une boucle sur tous tes contrôles d'Userform
    • Une condition pour savoir si c'est le contrôle que tu recherches (par rapport au nom)


    Cordialement,

  3. #3
    Expert confirmé
    Homme Profil pro
    Inscrit en
    Août 2010
    Messages
    3 453
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Août 2010
    Messages : 3 453
    Par défaut
    Bonjour,

    Simple, un exemple :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
     
    Dim Tbl(1 To 5) As String
     
    Private Sub UserForm_Activate()
     
        Tbl(1) = "CheckBox1"
        Tbl(2) = "CheckBox2"
        Tbl(3) = "OptionButton1"
        Tbl(4) = "ToggleButton1"
        Tbl(5) = "ToggleButton2"
     
    End Sub
     
    Private Sub CommandButton1_Click()
     
        Dim I As Integer
     
        For I = 1 To UBound(Tbl): UserForm1.Controls(Tbl(I)).Value = True: Next I
     
    End Sub

  4. #4
    Candidat au Club
    Homme Profil pro
    Inscrit en
    Mai 2013
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Mai 2013
    Messages : 2
    Par défaut
    Merci beaucoup à tous les deux.
    Effectivement cela marche, il me manquait l'instruction Controls().

    Bonne soirée!!

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

Discussions similaires

  1. Ouvrir une Form à partir d'un nom de variable
    Par AllyKo dans le forum VB.NET
    Réponses: 7
    Dernier message: 11/03/2009, 13h46
  2. Appeler une fonction à partir de son nom
    Par superpigeon dans le forum Général JavaScript
    Réponses: 3
    Dernier message: 21/05/2008, 09h56
  3. Appel d'une méthode à partir d'un nom de méthode
    Par tnarol dans le forum Langage
    Réponses: 20
    Dernier message: 07/03/2007, 17h46
  4. [VBA] Lancer une form à partir de son nom
    Par truman dans le forum Général VBA
    Réponses: 28
    Dernier message: 18/05/2006, 14h41
  5. Appeler une procédure en connaissant son nom
    Par xenos dans le forum Langage
    Réponses: 19
    Dernier message: 08/05/2006, 23h41

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