J'ai un problème : j'ai une liste dans laquelle se trouve une liste de tous les salaries. Je voudrais pouvoir sélectionner plusieurs salaries pour afficher les données qui leur correspondent. Pour cela, j'ai donc fait une liste à sélection multiple.
Le problème c'est que quand je valide, je ne parviens à récupérer qu'un seule enregistrement : le dernier sélectionné.
Voila mon code, en espérant avoir été assez clair.
'pour chaque ligne de la liste
With LstSalarie
For i = 0 To (.ListCount - 1)
If .Selected(i) = True Then
Call AfficheParSalarie(LstSalarie.List(LstSalarie.ListIndex, 2))
End If
Next
End With
Merci beaucoup pour l'aide que vous m'apporterez !
A voir également:
Urgent : VBA - Problème de récupération des données dans une liste à sélection m
Il ne faut pas utiliser la propriété ListIndex dans une liste multi select car elle renvoie l'index de la ligne ayant le focus, que celle-ci soit ou non actuellement sélectionnée.
With LstSalarie
For i = 0 To (.ListCount - 1)
If .Selected(i) = True Then
MsgBox "Nom: " & LstSalarie.Column(0, i) & " Numéro: " & LstSalarie.Column(1, i)
End If
Next
End With