Variable dans le nom d'un champ userform

Hello tout le monde!

C'est moi qui vais poser une question cette fois-ci

J'ai un soucis de simplification de code dans un des mes userform.

Je voudrais savoir s'il était possible d'inclure une variable dans le nom d'un champ userform

genre:

nom_du_champ & i & .Visible = True

Le but étant de rendre visible des champs en fonction de la valeur d'une combobox.

Mon code initial c'est:

Private Sub Nombre_user_Change()

If Nombre_user.Value > 0 Then
User1.Visible = True
Nom1_lbl.Visible = True
Nom1.Visible = True
Prenom1_lbl.Visible = True
Prenom1.Visible = True
ID1_lbl.Visible = True
ID1.Visible = True
Mail1_lbl.Visible = True
Mail1.Visible = True
End If

If Nombre_user.Value > 1 Then
User2.Visible = True
Nom2_lbl.Visible = True
Nom2.Visible = True
Prenom2_lbl.Visible = True
Prenom2.Visible = True
ID2_lbl.Visible = True
ID2.Visible = True
Mail2_lbl.Visible = True
Mail2.Visible = True
End If

If Nombre_user.Value > 2 Then
User3.Visible = True
Nom3_lbl.Visible = True
Nom3.Visible = True
Prenom3_lbl.Visible = True
Prenom3.Visible = True
ID3_lbl.Visible = True
ID3.Visible = True
Mail3_lbl.Visible = True
Mail3.Visible = True
End If

If Nombre_user.Value > 3 Then
User4.Visible = True
Nom4_lbl.Visible = True
Nom4.Visible = True
Prenom4_lbl.Visible = True
Prenom4.Visible = True
ID4_lbl.Visible = True
ID4.Visible = True
Mail4_lbl.Visible = True
Mail4.Visible = True
End If

If Nombre_user.Value > 4 Then
User5.Visible = True
Nom5_lbl.Visible = True
Nom5.Visible = True
Prenom5_lbl.Visible = True
Prenom5.Visible = True
ID5_lbl.Visible = True
ID5.Visible = True
Mail5_lbl.Visible = True
Mail5.Visible = True
End If

If Nombre_user.Value > 5 Then
User6.Visible = True
Nom6_lbl.Visible = True
Nom6.Visible = True
Prenom6_lbl.Visible = True
Prenom6.Visible = True
ID6_lbl.Visible = True
ID6.Visible = True
Mail6_lbl.Visible = True
Mail6.Visible = True
End If

If Nombre_user.Value > 6 Then
User7.Visible = True
Nom7_lbl.Visible = True
Nom7.Visible = True
Prenom7_lbl.Visible = True
Prenom7.Visible = True
ID7_lbl.Visible = True
ID7.Visible = True
Mail7_lbl.Visible = True
Mail7.Visible = True
End If

If Nombre_user.Value > 7 Then
User7.Visible = True
Nom7_lbl.Visible = True
Nom7.Visible = True
Prenom7_lbl.Visible = True
Prenom7.Visible = True
ID7_lbl.Visible = True
ID7.Visible = True
Mail7_lbl.Visible = True
Mail7.Visible = True
End If

End Sub

Je trouve ça trop long et j'ai 10 utilisateurs ça va faire beaucoup de lignes de code.

Une idée?

Bonjour,

Tu peux utiliser CONTROLS

Exemple

For i = 1 To Nombre_user.Value
    Controls("Nom" & i & "_lbl").Visible = True
    Controls("Nom" & i).Visible = True
Next i

A+

Ca fonctionne nickel comme ça!

Merci beaucoup c'est beaucoup plus propre maintenant!!

Rechercher des sujets similaires à "variable nom champ userform"