Private Sub Worksheet_Activate()
Dim P As Range, titre$, i&, critere
Set P = [A1].CurrentRegion
titre = P(1, 2)
Application.ScreenUpdating = False
P.Columns(2).ClearContents 'RAZ
With Sheets("Feuil1").[A1].CurrentRegion 'feuille des critères
For i = 2 To .Rows.Count
critere = Split(Application.Trim(.Cells(i, 2)), ", ") 'attention au séparateur
If UBound(critere) >= 0 Then
ThisWorkbook.Names.Add "Crit", critere 'nom défini
[H2] = "=SUMPRODUCT(N(ISNUMBER(SEARCH(Crit,A2))))" 'critere de filtrage
P.AdvancedFilter xlFilterInPlace, [H1:H2] 'filtre avancé
P.Columns(2).SpecialCells(xlCellTypeVisible) = .Cells(i, 1) 'remplissage
End If
Next
End With
If FilterMode Then ShowAllData 'RAZ
[H2] = ""
P(1, 2) = titre
End Sub