Vous pouvez vous faire une boucle For
pour examiner chaque ligne dans la liste, et faire tout ce qui avec les lignes qui sont sélectionnées. Dans cet exemple, j'affiche la deuxième colonne des éléments sélectionnés dans la zone de liste lstLocations. (La numérotation des colonnes commence par zéro.)
Private Sub cmdShowSelections_Click()
Dim lngRow As Long
Dim strMsg As String
With Me.lstLocations
For lngRow = 0 To .ListCount - 1
If .Selected(lngRow) Then
strMsg = strMsg & ", " & .Column(1, lngRow)
End If
Next lngRow
End With
' strip off leading comma and space
If Len(strMsg) > 2 Then
strMsg = Mid(strMsg, 3)
End If
MsgBox strMsg
End Sub
note J'ai supposé que vous vouliez les éléments sélectionnés dans la zone de liste. Si vous voulez tous les éléments, sélectionnés ou non, vous pouvez utiliser .ItemData
comme @DavidRelihan suggested. Toutefois, dans ce cas, vous pouvez les obtenir à partir de la zone de liste .RowSource
à la place.
N'oubliez pas que vous pouvez avoir une zone de liste multisélect et utiliser la propriété Selected si l'espace sur le formulaire devient un problème. – Fionnuala