Sub criteres()
Dim tablo, crit, ub&, i&, x$, j%, y$, k&, z$
With [Tableau1].Resize(, 4) 'tableau structuré
tablo = .Value 'matrice, plus rapide
crit = Sheets("critères").[A1].CurrentRegion.Resize(, 3) 'matrice, plus rapide
ub = UBound(crit)
For i = 1 To UBound(tablo)
x = Replace(Replace(tablo(i, 1), " ", ""), "+", ";") & ";"
For j = 1 To 3
y = ""
For k = 2 To ub
z = crit(k, j)
If z = "" Then Exit For
If InStr(x, z & ";") Then y = y & ";" & z
Next k
If y = "" Then tablo(i, j + 1) = "" Else tablo(i, j + 1) = Mid(y, 2)
Next j, i...