Changer le nom d'un élèment userform en variable
Résolu
Jivelien
-
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...
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... :
Un peu dans ce style là.... est-ce réalisable?
Merci d'avance pour votre aide !
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:
- Changer le nom d'un élèment userform en variable
- Changer dns - Guide
- Changer nom iphone - Guide
- Changer clavier qwerty en azerty - Guide
- Changer nom pc - Guide
- Changer nom utilisateur windows 10 - Guide
2 réponses
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
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
Bonjour
tu as tout ce qui faut dans ce tuto célèbre
https://silkyroad.developpez.com/VBA/ControlesUserForm/#LI-B
tu as tout ce qui faut dans ce tuto célèbre
https://silkyroad.developpez.com/VBA/ControlesUserForm/#LI-B