1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37
| Dim Lig As Long, DrLig As Long
Dim Lignes(), Choix(), TablDonnées(), valeur
Dim Message As String
Dim Cpt As Integer
Dim i As Byte
'boucle sur les éléments de la listbox pour remplir la var tableau des choix
'cf : http://silkyroad.developpez.com/VBA/ControlesUserForm/#LII-G
For i = 0 To ListBox1.ListCount - 1
If ListBox1.Selected(i) = True Then
ReDim Preserve Choix(Cpt)
Choix(Cpt) = ListBox1.List(i)
Cpt = Cpt + 1
End If
Next i
Cpt = 0
'Remplissage de la var tableau contenant toutes les données contenues dans la feuille
DrLig = Range("A" & Rows.Count).End(xlUp).Row
TablDonnées = Application.Transpose(Range("A2:C" & DrLig).Value)
For Lig = 2 To DrLig
If TablDonnées(1, Lig - 1) = TextBox1.Value And TablDonnées(2, Lig - 1) = "True" Then
For Each valeur In Choix
If TablDonnées(3, Lig - 1) = valeur Then
ReDim Preserve Lignes(Cpt)
Lignes(Cpt) = Lig
Cpt = Cpt + 1
Exit For
End If
Next
End If
Next Lig
Message = "Valeurs trouvées lignes : " & Chr(10)
For i = LBound(Lignes) To UBound(Lignes)
Message = Message & Lignes(i) & Chr(10)
Next
MsgBox Message
End Sub |
Partager