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 38
| Private Sub TextBox1_Change()
ListBox1.Clear
Dim O As Worksheet
Set O = Sheets("DATA")
Dim Derlig As Long
Dim Lista As Variant
Application.ScreenUpdating = False
Derlig = O.Cells(Rows.Count, 2).End(xlUp).Row
CRITERE = TextBox1.Value
If O.AutoFilterMode = True Then
O.AutoFilterMode = False
End If
O.Range("$B$4:$Q$" & Derlig).AutoFilter Field:=1, Criteria1:=CRITERE
Dim C As Range
With ListBox1
.ColumnCount = 7
.ColumnWidths = "100;80;100;50;100;60;50"
End With
LastLig = O.Cells(O.Rows.Count, 3).End(xlUp).Row
If O.Range("C5:C" & LastLig).SpecialCells(xlCellTypeVisible).Count > 1 Then
For Each C In O.Range("C5:C" & LastLig).SpecialCells(xlCellTypeVisible)
ListBox1.AddItem C.Value
Me.ListBox1.List(ListBox1.ListCount - 1, 1) = C.Offset(0, 1).Value
Me.ListBox1.List(ListBox1.ListCount - 1, 2) = C.Offset(0, 2).Value
Me.ListBox1.List(ListBox1.ListCount - 1, 3) = C.Offset(0, 3).Value
Me.ListBox1.List(ListBox1.ListCount - 1, 4) = C.Offset(0, 4).Value
Me.ListBox1.List(ListBox1.ListCount - 1, 5) = C.Offset(0, 5).Value
Me.ListBox1.List(ListBox1.ListCount - 1, 6) = C.Offset(0, 6).Value
Next C
End If
O.ShowAllData
Application.ScreenUpdating = True
End Sub |
Partager