[VBA] string à convertir en nom de variable

Bonjour,

J'ai créé une boite de dialogue qui contient 128 cases à cocher par l'utilisateur.
En fonction de ce que l'utilisateur coche, je souhaite extraire les noms de toutes les boites cochées...

J'ai écrit la procédure suivante qui me sert à remettre toutes les cases à l'état "décoché" :

Private Sub raz_click()

test = MsgBox("Tout remettre à zéro ?", vbYesNo + vbQuestion + vbDefaultButton2, "Attention !")
If test = vbYes Then
For i = 1 To 128
Liste.Controls("CheckBox" & i) = False
Next i
End If
End Sub


En effectuant un test sur Liste.Controls("CheckBox" & i) je parviens sur le même modèle à tester l'état d'une case : "cochée" ou "décochée". Mais je ne parviens pas à remonter à texte de la boite si le test est vrai...

Quelqu'un connait-il une astuce permettant de le faire ?

Merci par avance pour vos réponses !

Cordialement,

Julien.
Configuration: Windows 2003
Firefox 2.0.0.10

5 réponses

  1. Tout simplement en effet !
    Merci pour ta réponse !!!

    Cordialement,

    Julien
    1. Bonjour,

      Merci pour ta réponse !

      En fait, chaque boite à cocher possede un nom : CheckBox.Caption. C'est de ce nom-là que je parle.

      La seule chose à laquelle je suis parvenu à remonter, c'est l'état de la boite (False ou True pour décochée ou cochée) en passant par Controls("Checkbox"&i) avec i variant de 1 à 128, ou à une liste des noms des cases cochées sous forme de chaines de caractères. Je souhaite donc remonter à l'objet nommé comme le contenu de chaque chaine de caractère pour en extraire l'objet Caption.

      Merci !

      Julien
      1. "Mais je ne parviens pas à remonter à texte de la boite si le test est vrai"

        Que veux tu remonter et quel texte de la boite parles tu ???