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 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60
|
Dim Tbl() As String
Private Sub UserForm_Initialize()
Dim Plage As Range
Dim Cel As Range
Dim I As Long
With ActiveSheet: Set Plage = .Range(.Cells(1, 1), .Cells(.Rows.Count, 1).End(xlUp)): End With
For Each Cel In Plage
I = I + 1
ReDim Preserve Tbl(1 To 8, 1 To I)
Tbl(1, I) = Cel.Value
Tbl(2, I) = Cel.Offset(, 1).Value
Tbl(3, I) = Cel.Offset(, 2).Value
Tbl(4, I) = Cel.Offset(, 3).Value
Tbl(5, I) = Cel.Offset(, 4).Value
Tbl(6, I) = Cel.Offset(, 5).Value
Tbl(7, I) = Cel.Offset(, 6).Value
Tbl(8, I) = Cel.Offset(, 7).Value
Next Cel
End Sub
Private Sub TextBox1_Change()
Dim I As Long
Dim J As Long
ListBox1.Clear
With ListBox1
For I = 1 To UBound(Tbl, 2)
If Left(Tbl(1, I), Len(TextBox1.Text)) = TextBox1.Text Then
.AddItem Tbl(1, I)
.Column(1, J) = Tbl(2, I)
.Column(2, J) = Tbl(3, I)
.Column(3, J) = Tbl(4, I)
.Column(4, J) = Tbl(5, I)
.Column(5, J) = Tbl(6, I)
.Column(6, J) = Tbl(7, I)
.Column(7, J) = Tbl(8, I)
J = J + 1
End If
Next I
End With
End Sub |
Partager