J'ai mis en place ce code qui permet d'afficher ou pas des Labels selon le contenu d'une TextBox. Mais comme vous pouvez le constater, il est un peu long et je pense qu'il y a possibilité de l'améliorer.
Pouvez-vous m'aider s'il vous plait ?
Je vous en remercie par avance
VB:
Private Sub TextBox10_Change()
If Me.TextBox10.Text = "" Then
Me.Et1.Visible = False
Me.Et2.Visible = False
Me.Et3.Visible = False
Me.Et4.Visible = False
Me.Et5.Visible = False
End If
If Me.TextBox10.Text = "Très facile" Then
Me.Et1.Visible = True
End If
If Me.TextBox10.Text = "Facile" Then
Me.Et1.Visible = True
Me.Et2.Visible = True
End If
If Me.TextBox10.Text = "Moyen" Then
Me.Et1.Visible = True
Me.Et2.Visible = True
Me.Et3.Visible = True
End If
If Me.TextBox10.Text = "Difficile" Then
Me.Et1.Visible = True
Me.Et2.Visible = True
Me.Et3.Visible = True
Me.Et4.Visible = True
End If
If Me.TextBox10.Text = "Très difficile" Then
Me.Et1.Visible = True
Me.Et2.Visible = True
Me.Et3.Visible = True
Me.Et4.Visible = True
Me.Et5.Visible = True
End If
End Sub
Bonjour.
Un code plus court comme ça par exemple :
VB:
for n = 5 to 1 step -1
if textbox10.text = choose(n, "Très difficile", "difficile", … ) then exit for
me("Rt"& n).visible=false:next n
while N>=1:me("Et"& N).visible=true:N=N-1:wend
Dans mon code, "Et1", "Et2", etc... représente des Labels contenant une étoile. Donc si TextBox ="Facile" alors "Et1" donc une étoile et ainsi de suite.
Je ne vois pas dans votre code comment il fait la différence. Cela juste pour ma compréhension personnelle.
Merci par avance
Comment quoi fait la différence avec quoi ? D'abord est-ce que vous avez pu le faire marcher ?
Sinon joignez votre classeur.
Choose(N, liste d'éléments) renvoie le Nième élément de la liste
Donc l'idée c'est d'éliminer tous les cas du plus difficile au plus facile en mettant à False l'EtN.Enabled au passage (tiens j'ai mis RtN, erreur, mais pas de classeur joint pour tester) jusqu'a trouver le bon puis on met tous les EtN.Enabled restants à True à partir de là.
Merci c'est tout ce que je voulais savoir. Non pas que je mettais votre code en doute, mais j'avais du mal à le comprendre.
Maintenant c'est plus clair.
Encore merci