Dim d As Object 'mémorise la variable
Function ALister(c As Range) As Boolean
ALister = d.exists(c.Value)
End Function
Sub MAJ()
Dim tablo, i&
Set d = CreateObject("Scripting.Dictionary")
tablo = Feuil1.[A1].CurrentRegion.Resize(, 2) 'matrice, plus rapide, au moins 2 éléments
For i = 2 To UBound(tablo): d(tablo(i, 1)) = "": Next
With Feuil2.[A1].CurrentRegion 'CodeName
.Cells(2, 4) = "=ALister(A2)"
.AdvancedFilter xlFilterCopy, .Cells(1, 4).Resize(2), Feuil1.[C1:D1]
.Cells(2, 4) = ""
End With
Set d = Nothing
End Sub