Affichage/masquage TextBox en fonction sélection combobox

Bonjour,

Je cherche à optimiser une partie de code qui comme l'explique le titre affiche/masque les textboxs en fonction du chiffre sélectionné dans le combobox.

Private Sub CboClients_Change()
Dim i As Integer
i = CboClients.ListIndex
Select Case i
Case 0
Client1.Visible = True
Client2.Visible = False
Client3.Visible = False
Client4.Visible = False
Client5.Visible = False
Case 1
Client1.Visible = True
Client2.Visible = True
Client3.Visible = False
Client4.Visible = False
Client5.Visible = False
Case 2
Client1.Visible = True
Client2.Visible = True
Client3.Visible = True
Client4.Visible = False
Client5.Visible = False

Je n'ai pas tout mis car c'est très répétitif, comment peut-on simplifier tout ça et

6combo.xlsm (30.93 Ko)

Pouvez-vous m'expliquer quel est le gain de l'optimisation que vous pourrez me proposer (taille, vitesse...)?

Merci!!!

Bonsoir Phenolate,

Private Sub CboClients_Change()
Dim i, C As Integer
i = CboClients.ListIndex
For C = 1 to 5
if C <= (i + 1) then Me.Controls("Client" & C).Visible = True else Me.Controls("Client" & C).Visible = False
Next C

Bonsoir,

ci-jointe autre proposition

14combo1.xlsm (34.25 Ko)

Merci pour vos réponses!! et the merci pour la présentation c'est vrai que c'est mieux présenté ainsi.

Peut-on comparer vos deux codes? quel est celui qui est le plus abouti? par rapport au mien j'ai bien compris le gain de lignes et donc de vitesse sur un gros programme doit se faire ressentir. Par contre entre thev et cellus lequel choisir? un est-il plus académique que l'autre? voyez-vous des avantages à utiliser un plutôt que l'autre? Merci

Bonjour,

Passer par un cadre (Frame) pour traiter un groupe de contrôles dont le rôle est identique, est une solution élégante permettant de simplifier le code et d'éviter en général de leur attribuer un nom spécifique.

Rechercher des sujets similaires à "affichage masquage textbox fonction selection combobox"