Masquer checkbox dans userform

Bonjour,

D'habitude je trouve toujours une solution sur le forum mais pas cette fois ci :'(

Les utilisateurs ont la possibilité d'entrer des données dans les cellules de A10 à A30.

Exemple :

cellule A10 : R1

cellule A11 : R2

cellule A12 : R8

cellule A13 : R12

L'utilisateur ci-dessus n'a renseigné que ces 4 cellules mais un autre utilisateur pourra en remplir plus (de A10 à A16 par exemple)

Dans un userform j'ai 20 checkbox nommées "chk_R1", "chk_R2", ...."chk_R31"

Vous remarquerez que la cellule A10 contient la partie variable du nom de la checkbox chk_R1.

Serait il possible d'afficher uniquement les checkbox renseignés dans la colonne A ?

Dans mon exemple seront uniquement visible les checkbox nommée : chk_R1, chk_R2, chk_R8 et chk_R12 ?

Merci pour votre aide

Bonjour Geo, bonjour le forum,

Essaie comme ça :

Sub Macro1()
Dim I As Byte

'masque toutes les Checkboxes
For I = 1 To 31 ' pas compris 20 checkboxes de R1 à R31...pour moi ça fait 31. Tu adapteras...
    Me.Controls("chk_R" & I).Visible = False
Next I
'affiche uniquement les checkboxes des cellules renseignées
For I = 10 To 30
    If Cells(I, "A").Value <> "" Then Me.Controls("chk" & Cells(I, "A").Value).Visible = True
    Next I
End Sub

Salut ThauThème,

Merci de ta réponse si rapide et si efficace ça fonctionne à merveille !!!.

Par contre juste un petit détail...je voudrais lancer ça à l'ouverture du userform j'ai donc mis le code dans un Private Sub userform1(initialize) dans le code du userform mais ça ne fonctionne pas.

Ou devrais-je mettre le code ?

Merci encore

Re,

Attention le code d'initialisation d'une UserForm est toujours, et quelque soit son nom, UserForm_Initialize() ! Si tu as écrit :

UserForm1_Initialize(), l'initialisation de se fait pas.

Oupppsss effectivement merci encore

Rechercher des sujets similaires à "masquer checkbox userform"