Voilà, vous pouvez utiliser ça :
Sub suppressionSelonCritere(ByVal ligne_index As Integer)
' --- --- --- By BibuNesco --- --- --- '
Dim Ws_source As Worksheet
Set Ws_source = ThisWorkbook.Worksheets("Feuil1") ' Feuille de la liste des critères à respecter
Dim Ws_cible As Worksheet
Set Ws_cible = ThisWorkbook.Worksheets("Feuil2") ' Feuille où l'on va supprimer les lignes
derlig_source = Ws_source.Range("A" & Rows.Count).End(xlUp).Row ' Création d'un tableau avec la liste des critères
Dim tab_source() As Variant ' En supposant que la liste est sur une seule colonne partant de A1
tab_source = Ws_source.Range("A1", "A" & derlig_source).Value
derlig_cible = Ws_cible.Range("B" & Rows.Count).End(xlUp).Row
For i = ligne_index To derlig_cible
compteEgalite = 0
For j = 1 To UBound(tab_source, 1)
If tab_source(j, 1) = Ws_cible.Range("B" & i) Then
compteEgalite = compteEgalite + 1
End If
Next j
If compteEgalite = 0 Then
Ws_cible.Range("B" & i).EntireRow.Delete
Call suppressionSelonCritere(i)
End If
Next i
End Sub
Et appeler ce sub en utilisant le code suivant :
Call suppressionSelonCritere(1)
C'est une fonction récursive qu'on appelle en commençant à l'index de ligne 1, c'est à dire au début, et ensuite dès qu'une ligne est supprimée on va rappeler cette fonction à l'endroit ou l'on a supprimé la ligne.
Bibu