[VBA Excel]. Pb de mise à jour de UserForm (c

Résolu
ExcelMans Messages postés 2 Date d'inscription   Statut Membre Dernière intervention   -  
ExcelMans Messages postés 2 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour

J’ai un petit Pb dans la mise à jour d’une feuille UserForm :

Je voudrais que l’intitulé CheckBox13 puisse évoluer (sur la même ligne de code) en CheckBox 23, CheckBox 33…etc


Ecran_Accueil.CheckBox13.Caption = TabValeurs(CompteurLigne3, 1)
(CompteurLigne3 s’incrémente de 1 par une boucle ; TabValeurs est un tableau dynamique)


J’ai essayé le code ci-dessous, mais "CheckBox" n’est pas reconnu et plante la macro :

CheckBox = ("CheckBox" ) & (CompteurLigne3) & ("3" ) >>> La valeur de CheckBox est « CheckBox13 »

Ecran_Accueil.CheckBox.Caption = TabValeurs(CompteurLigne3, 1)

Je suis preneur de toutes méthodes simples et efficaces pour résoudre ce petit pb.

A+

ExcelMans
A voir également:

2 réponses

Armojax Messages postés 1860 Date d'inscription   Statut Membre Dernière intervention   1 528
 
Salut ExcelMans,

Tous les contrôles (CheckBox, ComboBox, ListBox, etc.) d'un UserForm font partie de la collection Controls, et peuvent être désignés par leurs noms.

Si tu as la valeur 13 dans l'indice I, CheckBox13 peut être désigné aussi par :
Controls("CheckBox" & I).

Ça devrait t'aider pour ton PB...
2
ExcelMans Messages postés 2 Date d'inscription   Statut Membre Dernière intervention  
 
Je viens de tester cette solution, et elle marche bien aussi, car par ailleurs on m'a indiqué la solution ci-dessous qui fonctionne également :

Dim checkBox As String

CheckBox = "CheckBox" & CompteurLigne3 & "3"

Ecran_Accueil.Controls(chexkBox).Object.Caption = TabValeurs(CompteurLigne3, 1)

De cette façon à chaque passage de boucle incrémentant "CompteurLigne3" je Documente une nouvelle CheckBox : CheckBox13, puis CheckBox23, puis CheckBox33, ...etc.

Merci de ton aide Armojax

A+
0