blord
XLDnaute Impliqué
Bonjour à tous,
J'utilise le code suivant pour compter le nombre d'items sélectionnés dans un listbox et empêcher plus de 15 sélections (merci aux gens du forum pour ce code...):
Private Sub ListBoxGarantiesGroupe_Change()
'------------------------
'Code pour limiter le nombre de sélections possibles dans le listbox
'max = nombre de sélections permises
Static nb As Integer
Dim choisi As Integer, max As Integer
max = 15
choisi = ListBoxGarantiesGroupe.ListIndex
If ListBoxGarantiesGroupe.Selected(choisi) = False Then nb = nb - 1: Exit Sub
If nb >= max Then ListBoxGarantiesGroupe.Selected(choisi) = False
nb = nb + 1
'Indique le nombre d'item sélectionnés dans la listbox
Dim i As Integer
Dim cpt As Integer
For i = 0 To ListBoxGarantiesGroupe.ListCount - 1
cpt = cpt - (ListBoxGarantiesGroupe.Selected(i))
Next i
TextBoxNombreGaranties.Value = cpt
RetourInfos
End Sub
Le problème que j'ai, c'est lorsque le traitement de l'information est terminé et que l'utilisateur fait une autre saisie, il se trouve limité au nombre d'items non sélectionnés lors de la première saisie. Je m'explique, si l'utilisateur a sélectionné 10 items dans la première saisie, il ne pourra qu'en sélectionner 5 la prochaine fois...
Comment faire pour remettre le compteur à 0 après le traitement des données ?
Merci pour votre aide....
Benoit Lord
J'utilise le code suivant pour compter le nombre d'items sélectionnés dans un listbox et empêcher plus de 15 sélections (merci aux gens du forum pour ce code...):
Private Sub ListBoxGarantiesGroupe_Change()
'------------------------
'Code pour limiter le nombre de sélections possibles dans le listbox
'max = nombre de sélections permises
Static nb As Integer
Dim choisi As Integer, max As Integer
max = 15
choisi = ListBoxGarantiesGroupe.ListIndex
If ListBoxGarantiesGroupe.Selected(choisi) = False Then nb = nb - 1: Exit Sub
If nb >= max Then ListBoxGarantiesGroupe.Selected(choisi) = False
nb = nb + 1
'Indique le nombre d'item sélectionnés dans la listbox
Dim i As Integer
Dim cpt As Integer
For i = 0 To ListBoxGarantiesGroupe.ListCount - 1
cpt = cpt - (ListBoxGarantiesGroupe.Selected(i))
Next i
TextBoxNombreGaranties.Value = cpt
RetourInfos
End Sub
Le problème que j'ai, c'est lorsque le traitement de l'information est terminé et que l'utilisateur fait une autre saisie, il se trouve limité au nombre d'items non sélectionnés lors de la première saisie. Je m'explique, si l'utilisateur a sélectionné 10 items dans la première saisie, il ne pourra qu'en sélectionner 5 la prochaine fois...
Comment faire pour remettre le compteur à 0 après le traitement des données ?
Merci pour votre aide....
Benoit Lord