remplacez le code INIT par celui ci
Private Sub Init()
Dim i As Integer, nblig As Integer
Dim tablo() As Variant
Dim ws As Worksheet
Set ws = Worksheets("CVPO")
With ws.ListObjects("Tab_CVPO").DataBodyRange
nblig = .Rows.Count
ReDim tablo(nblig, 14) As Variant
j = 0
For i = 0 To nblig
tablo(j, 0) = .Item(i + 1, 2).Value
tablo(j, 1) = .Item(i + 1, 3).Value
tablo(j, 2) = .Item(i + 1, 4).Value
tablo(j, 3) = .Item(i + 1, 5).Value
tablo(j, 4) = .Item(i + 1, 6).Value
tablo(j, 5) = .Item(i + 1, 7).Value
tablo(j, 6) = .Item(i + 1, 8).Value
tablo(j, 7) = .Item(i + 1, 9).Value
tablo(j, 8) = .Item(i + 1, 10).Value
tablo(j, 9) = .Item(i + 1, 11).Value
tablo(j, 10) = .Item(i + 1, 12).Value
tablo(j, 11) = .Item(i + 1, 13).Value
tablo(j, 12) = .Item(i + 1, 14).Value
j = j + 1
Next i
End With
With lst_Recherche
.ColumnCount = 14
.ColumnWidths = "50;50;50;50;50;50;50;50;50;50;50;50;50;50"
.List = tablo
'suppression des lignes vides
For i = .ListCount - 1 To 0 Step -1
If .List(i, 1) = "" Then .RemoveItem (i)
Next i
End With
Dim nbcol As Byte
With ws.ListObjects("Tab_CVPO").HeaderRowRange
nbcol = .Columns.Count
ReDim tablo(0, nbcol) As Variant
For i = 0 To nbcol
tablo(0, i) = ws.Cells(1, i + 1).Value
Next i
End With
With lst_Titre
.ColumnCount = 14
.ColumnWidths = "50;50;50;50;50;50;50;50;50;50;50;50;50;50"
.List = tablo
End With
End Sub
Il faudra que vous adaptiez la police de la listbox pour que ce soit plus visible
Cordialement