Changer le nom d'un élèment userform en variable

Résolu
Jivelien -  
 Jivelien -
Bonjour,
J'avais une petite question concernant la simplification d'un de mes codes...
Est il possible de faire évoluer la zone de lecture d'une variable au sein d'une userform de la même manière qu'on pourrait faire évoluer la valeur d'une variable/ligne, etc.
Je m'explique, plus concrétement car je ne pense pas avoir le bon vocabulaire pour être clair...
'LafailleEntr est le nom de l'userform ; première répétition
If LafailleEntr.CheckBox1.Value = True Then
...
LafailleEntr.Label2.Caption = LafailleEntr.TextBox1.Value
...
End If
'Seconde répétition
If LafailleEntr.CheckBox2.Value = True Then
...
LafailleEntr.Label2.Caption = LafailleEntr.TextBox2.Value
...
End If

Comme vous pouvez le voir, cette portion de code n'est qu'une répétition ou seul le numéro de "Textbox" et "CheckBox" change pour passer de 1 à 2. Ce code est répété ...24fois. Ce qui rend les modification très contraignante... L'idée aurait été d'incrémenter un compteur en variable (par exemple) et de simplifier le code en boucle... :
Counter =1
Do until Counter = 24
If LafailleEntr.CheckBox(counter).Value = True Then
...
LafailleEntr.Label2.Caption = LafailleEntr.TextBox(counter).Value
...
End If
Counter = Counter +1
Loop

Un peu dans ce style là.... est-ce réalisable?

Merci d'avance pour votre aide !
A voir également:

2 réponses

Jivelien
 
La solution est simple :

Userform1.textbox1 peut être remplacer par la syntaxe Userform1.controls("Textbox1") et donc, par Userform1.controls("Textbox" & Numero).

Au cas où quelqu'un se posera la question un autre jour
2
michel_m Messages postés 16602 Date d'inscription   Statut Contributeur Dernière intervention   3 314
 
Bonjour

tu as tout ce qui faut dans ce tuto célèbre
https://silkyroad.developpez.com/VBA/ControlesUserForm/#LI-B
1
Jivelien
 
Merci! En fait c'est d'une simplicité déconcertante..
Je suis pas un grand fana des cours, j'aime bien découvrir les options au fur et à mesure en fonction des besoins, mais parfois, il faut savoir s'y référer ^^
0