Dim f, TblBD()
Private Sub UserForm_Initialize()
Set f = Sheets("bd")
Set Rng = f.Range("A2:F" & f.[A65000].End(xlUp).Row)
Me.ListBox1.ColumnCount = 6
Me.ListBox1.ColumnWidths = "50;50;40;50;60;50"
Me.ListBox1.List = Rng.Value
Set f = Sheets("bd")
TblBD = Rng.Value
Me.ListBox1.List = TblBD
Me.ListBox1.ColumnCount = 6
Me.ListBox1.ColumnWidths = "100;50;50;50;50;50"
'--- ComboBox
Set d = CreateObject("scripting.dictionary")
d("*") = ""
For i = 1 To UBound(TblBD)
d(TblBD(i, 1)) = ""
Next i
temp = d.keys
Me.ComboBox1.List = temp
Me.ComboBox1 = "*"
End Sub
Private Sub ComboBox1_click()
ColRecherche = 1
clé = Me.ComboBox1: n = 0
Dim Tbl()
For i = 1 To UBound(TblBD)
If TblBD(i, ColRecherche) Like clé Then
n = n + 1: ReDim Preserve Tbl(1 To UBound(TblBD, 2), 1 To n)
For k = 1 To UBound(TblBD, 2): Tbl(k, n) = TblBD(i, k): Next k
End If
Next i
If n > 0 Then Me.ListBox1.Column = Tbl Else Me.ListBox1.Clear
End Sub
Private Sub B_recup_Click()
Application.ScreenUpdating = False
Set f = Sheets("Result")
n = ListBox1.ListCount
Tbl = Me.ListBox1.List
f.[A2].Resize(n) = Application.Index(Tbl, , 1)
f.[C2].Resize(n) = Application.Index(Tbl, , 2)
f.[F2].Resize(n) = Application.Index(Tbl, , 3)
End Sub
Private Sub B_recup2_Click()
Application.ScreenUpdating = False
Set f = Sheets("Result")
n = ListBox1.ListCount
Tbl = Me.ListBox1.List
f.[J2].Resize(n, 3) = Application.Index(Tbl, Evaluate("Row(1:" & n & ")"), Array(1, 3, 6))
End Sub