Nommer une checkbox en utilisant le contenu d'une cellule

Bonjour à tous, Je souhaite nommer 10 checkboxs d'un userform en utilisant le contenu des cellules de A1 à A10. Est-il possible de faire cela?

Bonjour,

Vous pouvez essayer avec ce code, en remplaçant dans le code MyUserform par le vrai nom de l'userform :

Sub NommerCtrl()

Dim ctrl as Control
Dim i%

for each ctrl in MyUserform.controls
    if typename(ctrl) = "CheckBox" then
        i = i + 1
        ctrl.name = cells(i, 1).value
    end if
next

End sub

Cdlt,

Merci pour votre réponse.

J'ai du mal à comprendre les programmes VBA pour le moment. Comment réaliser cette action en programmant une par une les checkboxs?

Ex: nom de checkbox1 est à cellule A1

Cordialement

La macro va parcourir tous les contrôles de l'userform et lorsqu'un contrôle sera de type checkbox, il y aura :

- une incrémentation (i = i + 1),
- la checkbox prendra la valeur de la cellule Ai pour nom.

Donc, il faut bien veiller à ce que les cellules A1 à A10 soient en lien avec l'ordre de tabulation des checkbox.

Pour s'en assurer, si je ne dis pas de bêtise, il faut se rendre sur l'userform, ouvrir la fenêtre propriétés (via le volet Affichage) cliquer sur les checkbox et regarder la propriété Tabindex. Si les checkbox sont dans l'ordre, alors en cliquant sur les unes à la suite des autres, le numéro de Tabindex sera toujours supérieur au précédent.

Si elles ne sont pas dans l'ordre, l'ordre est modifiable en saisissant directement l'index souhaité dans Tabindex ou en modifiant l'ordre des tabulations (toujours via le volet Affichage je crois).

Cdlt,

38essai-checkbox.xlsm (19.26 Ko)

Merci pour l'intérêt que vous porter à ma question.

Je pense que je me suis mal exprimé sur ma question initiale.

J'ai créé un fichier pour faire cet essai.

Dans ce fichier, le bouton de commande ouvre l'userform1.

Je souhaite qu'a l'ouverture de cet userform1, le "caption" de la checkbox1 soit renommé par le contenu de la cellule A1 sur la feuil1.

Est ce que je dois entrer le code dans le module1 ou dans l'userform1 ?

Ci-joint mon fichier d"essai

Bonjour

a mettre dans userform

Private Sub UserForm_Initialize()
    For L = 1 To 10
        Controls("CheckBox" & L).Caption = Feuil1.Cells(L, 1).Value
    Next L
End Sub

Parfait, c'est le résultat que je souhaitais.

Je vous remercie pour vos réponses à tous les 2.

Cordialement

Rechercher des sujets similaires à "nommer checkbox utilisant contenu"