ListBox avec cases cheked

Résolu
jytest Messages postés 314 Date d'inscription dimanche 27 novembre 2005 Statut Membre Dernière intervention 22 décembre 2014 - 30 avril 2009 à 18:08
jytest Messages postés 314 Date d'inscription dimanche 27 novembre 2005 Statut Membre Dernière intervention 22 décembre 2014 - 30 avril 2009 à 21:15
Bonsoir à tous.

J'ai besoin de votre aide pour résoudre mon petit souci avec ma listBox.A l'aide !!!

J'ai une listBox (lstPays) avec checked.
Les 6 éléments de liste sont successivement :
Tous, Belgique, France, Pays-Bas, Suisse et Autres.

Me voici avec mon souci...
Si je clique sur le premier élément (Tous), j'aurai voulu que les 5 autres élements (Belgique, France...) soient cochés automatiquement.

Et si on décoche, par exemple France, j'aurais aussi souhaité que le premier élément de la liste (Tous) soit automatiquement décoché...

Je sais. Je ne suis pas difficile...
Mais j'ai vraiment besoin de votre aide.
Grand merci d'avance.

jytest

2 réponses

jytest Messages postés 314 Date d'inscription dimanche 27 novembre 2005 Statut Membre Dernière intervention 22 décembre 2014
30 avril 2009 à 21:15
Voilà la solution à mon problème...

If Item = 0 Then
If lstPays.Selected(0) = True Then
For i = 1 To lstPays.ListCount - 1
lstPays.Selected(i) = True
Next i
End If
Exit Sub
End If
lstPays.Selected(0) = True
For i = 1 To lstPays.ListCount - 1
If lstPays.Selected(i) = False Then
lstPays.Selected(0) = False
End If
Next i
3
jytest Messages postés 314 Date d'inscription dimanche 27 novembre 2005 Statut Membre Dernière intervention 22 décembre 2014
30 avril 2009 à 20:27
Voici mon bout de code.
Mais si on décoche 2 cases (par exemple élément 1 et élément 2),
l'élément 0 (Tous) se recoche...
Qu'est-ce qui ne va pas dans ce code ???


Private Sub lstPays_ItemCheck(Item As Integer)
If Item = 0 Then
If lstPays.Selected(0) = True Then
For i = 1 To lstPays.ListCount - 1
lstPays.Selected(i) = True
Next i
End If
Exit Sub
End If
If lstPays.Selected(0) = True Then
For i = 1 To lstPays.ListCount - 1
If lstPays.Selected(i) = False Then
lstPays.Selected(0) = False
End If
Next i
Else
For i = 1 To lstPays.ListCount - 1
If lstPays.Selected(i) = True Then
lstPays.Selected(0) = True
End If
Next i
End If
End Sub
0
Rejoignez-nous