Public flag As Boolean
Sub InitialiseTableau()
Dim P As Range, ncol%, critere$, n&, liste(), tablo, i&, j%
Set P = [Tab_1].ListObject.Range
ncol = P.Columns.Count
critere = P.Parent.ComboBox14
flag = True
P.AutoFilter 2, critere
flag = False
n = Application.CountIf(P.Columns(2), critere)
If n Then ReDim liste(1 To n, 1 To ncol)
tablo = P 'matrice, plus rapide
n = 0
For i = 2 To UBound(tablo)
If tablo(i, 2) = critere Or critere = ">0" Then
n = n + 1
tablo(i, 4) = Format(tablo(i, 4), "#,##0.00 €")
For j = 1 To ncol
liste(n, j) = tablo(i, j)
Next j
End If
Next i
With UserForm1
If n Then .ListBox10.List = liste Else .ListBox10.Clear
.Show 0 'non modal
End With
End Sub