Microsoft 365 Simplification code pour inscription et visible ou pas des textbox, label, bouton etc...

Kael_88

XLDnaute Occasionnel
Le Forum,
Est-il possible de simplifier le code suivant,svp?
merci
VB:
        If ComboBox002.SelectedItem = "" Then
            Call vide()
        ElseIf ComboBox002.SelectedItem = "Identité" Then
            Label111.Visible = True
            TextBox111.Visible = True
            Label112.Visible = True
            TextBox112.Visible = True
            Label113.Visible = True
            TextBox113.Visible = True
            Label114.Visible = False
            TextBox114.Visible = False
            Label115.Visible = False
            TextBox115.Visible = False
            Label116.Visible = False
            TextBox116.Visible = False
            Label119.Visible = True
            TextBox119.Visible = True
            Button010.Visible = True
            Label111.Text = "Material"
            TextBox111.Text = ""
            Label112.Text = "Nom"
            TextBox112.Text = ""
            Label113.Text = "Prénom"
            TextBox113.Text = ""
            Label119.Text = "Née le"
            TextBox119.Text = ""
            Button010.Text = "Valider" & Chr(10) & "Identité"
        ElseIf ComboBox002.SelectedItem = "Lieu" Then
            Label111.Visible = True
            TextBox111.Visible = True
            Label112.Visible = True
            TextBox112.Visible = True
            Label113.Visible = False
            TextBox113.Visible = False
            Label114.Visible = False
            TextBox114.Visible = False
            Label115.Visible = False
            TextBox115.Visible = False
            Label116.Visible = False
            TextBox116.Visible = False
            Label119.Visible = True
            TextBox119.Visible = True
            Button010.Visible = True
            Label111.Text = "Nom"
            TextBox111.Text = ""
            Label112.Text = "Prénom"
            TextBox112.Text = ""
            Label119.Text = "Ville"
            TextBox119.Text = ""
            Button010.Text = "Valider" & Chr(10) & "Lieu"
        ElseIf ComboBox002.SelectedItem = "Sport" Then
            Label111.Visible = True
            TextBox111.Visible = True
            Label112.Visible = True
            TextBox112.Visible = True
            Label113.Visible = True
            TextBox113.Visible = True
            Label114.Visible = True
            TextBox114.Visible = True
            Label115.Visible = True
            TextBox115.Visible = True
            Label116.Visible = False
            TextBox116.Visible = False
            Label119.Visible = True
            TextBox119.Visible = True
            Button010.Visible = True
            Label111.Text = "Discipline"
            TextBox111.Text = ""
            Label112.Text = "Depuis le"
            TextBox112.Text = ""
            Label113.Text = "Niveau"
            TextBox113.Text = ""
            Label114.Text = "Club"
            TextBox114.Text = ""
            Label115.Text = "Lieu"
            TextBox115.Text = ""
            Label119.Text = "Commentaire"
            TextBox119.Text = ""
            Button010.Text = "Valider" & Chr(10) & "Sport"
        ElseIf ComboBox002.SelectedItem = "Loisir" Then
            Label111.Visible = True
            TextBox111.Visible = True
            Label112.Visible = True
            TextBox112.Visible = True
            Label113.Visible = True
            TextBox113.Visible = True
            Label114.Visible = True
            TextBox114.Visible = True
            Label115.Visible = False
            TextBox115.Visible = False
            Label116.Visible = False
            TextBox116.Visible = False
            Label119.Visible = True
            TextBox119.Visible = True
            Button010.Visible = True
            Label111.Text = "Activité"
            TextBox111.Text = ""
            Label112.Text = "Fréquence"
            TextBox112.Text = ""
            Label113.Text = "Lieu"
            TextBox113.Text = ""
            Label114.Text = "Ami(e)"
            TextBox114.Text = ""
            Label119.Text = "Commentaire"
            TextBox119.Text = ""
            Button010.Text = "Valider" & Chr(10) & "Envoi"
        End If
    End Sub
 

Dudu2

XLDnaute Barbatruc
Bonjour,
Tu peux par exemple utiliser une boucle:
VB:
For i = 111 To 116
    Controls("Label" & i).Visible = False
    Controls("TextBox" & i).Visible = False
Next i
Ça limitera les dégats.

Ou encore si tu places tes numéros dans un tableau pour couvrir les discontinuités.
Et aussi pour les Labels, mise en table si besoin.
VB:
Dim T(1 to 7) as Integer
T(1) = 111: T(2) = 112: T(3) = 113: T(4) = 114: T(5) = 115: T((6) = 116: T(7) = 119
For i = LBound(T) to UBound(T)
    Controls("Label" & T(i)).Visible = False
    Controls("TextBox" & T(i)).Visible = False
Next i
D.
 
Dernière édition:

Dudu2

XLDnaute Barbatruc
Si tu veux être plus simple dans l'initialisation des tableaux:
Code:
    Dim TControl As Variant
    TControl = [{111, 112, 113, 114, 115, 116, 119}]    'Le LBound sera à 1
    TControl = Array(111, 112, 113, 114, 115, 116, 119) 'Le LBound sera à 0

    Dim TLabel3 As Variant
    TLabel3 = [{"Activité", "Fréquence", "Lieu", "Ami(e)", "", "", "Commentaire"}]      'Le LBound sera à 1
    TLabel3 = Array("Activité", "Fréquence", "Lieu", "Ami(e)", "", "", "Commentaire")   'Le LBound sera à 0

    For i = LBound(TControl) To UBound(TControl)
        Controls("Label" & TControl(i)).Visible = True
        If Len(TLabel3(i)) Then Controls("Label" & TControl(i)).Text = TLabel3(i)
    Next i
 

jpb388

XLDnaute Accro
Bonjour à tous
une piste
VB:
            Label111.Visible = True
            TextBox111.Visible = True
            TextBox111.Text = ""
            Label112.Visible = True
            TextBox112.Visible = True
            TextBox112.Text = ""
            Label113.Visible = True
            TextBox113.Visible = True
            TextBox113.Text = ""
            Label114.Visible = True
            TextBox114.Visible = False
            Label115.Visible = False
            TextBox115.Visible = False
            Label116.Visible = False
            TextBox116.Visible = False
            Label119.Visible = True
            TextBox119.Visible = True
            TextBox119.Text = ""
            Button010.Visible = True

       Select Case ComboBox002.SelectedItem
       Case Is = ""
            Call vide
       Case Is = "Identité"
            Label114.Visible = False
            TextBox114.Visible = False
            Label115.Visible = False
            Label111.Text = "Material"
            Label112.Text = "Nom"
            Label113.Text = "Prénom"
            Label119.Text = "Née le"
            Button010.Text = "Valider" & Chr(10) & "Identité"
        Case Is = "Lieu"
            Label113.Visible = False
            TextBox113.Visible = False
            Label114.Visible = False
            TextBox114.Visible = False
            Label115.Visible = False
            TextBox115.Visible = False
            Label111.Text = "Nom"
            Label112.Text = "Prénom"
            Label119.Text = "Ville"
            Button010.Text = "Valider" & Chr(10) & "Lieu"
        Case Is = "Sport"
            Label111.Text = "Discipline"
            Label112.Text = "Depuis le"
            Label113.Text = "Niveau"
            Label114.Text = "Club"
            Label115.Text = "Lieu"
            Label119.Text = "Commentaire"
            Button010.Text = "Valider" & Chr(10) & "Sport"
        Case Is = "Loisir"
            Label115.Visible = False
            TextBox115.Visible = False
            Label111.Text = "Activité"
            Label112.Text = "Fréquence"
            Label113.Text = "Lieu"
            Label114.Text = "Ami(e)"
            Label119.Text = "Commentaire"
            Button010.Text = "Valider" & Chr(10) & "Envoi"
        End Select
 

Statistiques des forums

Discussions
312 198
Messages
2 086 151
Membres
103 133
dernier inscrit
mtq