Dim d As Object, c As Range, x, i As Long, ws As Worksheet
Dim tmp As String
'pour supprimer le Dictionnaire de la mémoire
Set d = Nothing
Set ws = ActiveSheet
Set d = CreateObject("scripting.dictionary")
x = Application.Transpose(Range("J1", Cells(Rows.Count, "J").End(xlUp)))
For i = 1 To UBound(x, 1)
d(x(i)) = 1
Next
For Each c In ws.Range("J2", Cells(Rows.Count, "J").End(xlUp))
tmp = c.Value
If d.Exists(tmp) And (tmp) = "COK" Then d.Remove (tmp) 'élimine COK
If d.Exists(tmp) And (tmp) = "RSA" Then d.Remove (tmp) 'élimine RSA
If d.Exists(tmp) And (tmp) = "CIN" Then d.Remove (tmp) 'élimine CIN
If d.Exists(tmp) And (tmp) = "AAN" Then d.Remove (tmp) 'élimine AAN
If d.Exists(tmp) And (tmp) = "SSC" Then d.Remove (tmp) 'élimine SSC
If d.Exists(tmp) And (tmp) = "CNA" Then d.Remove (tmp) 'élimine CNA
Next
With ws.Cells(1, 1).CurrentRegion
.AutoFilter 10, Array(d.Keys), 7
End With