Option Compare Text
Dim f, Rng, TblBD()
Private Sub UserForm_Initialize()
Set f = Sheets("BD")
Set d = CreateObject("Scripting.Dictionary")
Set Rng = f.Range("A2:K" & f.[A65000].End(xlUp).Row)
TblBD = Rng.Value
Me.ListBox1.ColumnCount = Rng.Columns.Count
EnteteListBox
n = 0
Dim Tbl()
For i = 1 To UBound(TblBD)
If TblBD(i, 3) = "AA" Or TblBD(i, 3) = "AGP" 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
Me.ListBox1.Column = Tbl
End Sub
Sub EnteteListBox()
x = Me.ListBox1.Left + 8
Y = Me.ListBox1.Top - 12
For i = 1 To Me.ListBox1.ColumnCount
Set lab = Me.Controls.Add("Forms.Label.1")
lab.Caption = Rng.Offset(-1).Cells(1, i)
lab.Top = Y
lab.Left = x
x = x + Rng.Columns(i).Width * 1.1
temp = temp & Rng.Columns(i).Width * 1.1 & ";"
Next
temp = Left(temp, Len(temp) - 1)
Me.ListBox1.ColumnWidths = temp
End Sub