Bonjour à Tous,

J'ai une Listbox dans un Userform (VBA Excel 2007) pour laquelle j'aimerais tester si une valeur au moins a été choisie par l'utilisateur.

Cette Listbox est de type multiple (propriété Multiselect = 1).

Pour une Listbox de type Single, (propriété Multiselect = 0), on peut testez la valeur de Listbox1.ListIndex qui sera à -1 si rien n'est choisi.
Malheureusement , et sauf erreur de ma part, pour le type multiple, Listbox1.ListIndex retourne la dernière valeur ayant eu le focus, ce qui ne me sert à rien ici...

Existerait il un moyen plus simple que de boucler avec un code style:


Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
 
aumoinsunchoix=False
 
With Listbox1
     for i = 0 to .ListCount - 1
          if .selected(i)= True then aumoinsunchoix=True
     next
End With
 
if aumoinsunchoix = False then MsgBox "Aucun choix selectionné"
Merci par avance