Alors, si vous préférez un code plus simple, essayez celui-ci.
Le principe: A l'aide d'une formule ajoutée sur toute la colonne qui suit la dernière , on met la valeur "X" en face de chaque valeur absente de la liste des objets perdus, ensuite on fait un tri sur cette colonne, et il n'y a plus qu'à supprimer toutes les lignes qui ne comportent pas de "X"
Sub Objets_trouvés()
Dim f1 As Worksheet
Dim DerLig As Long, DerCol As Long
Dim L As Range
Application.ScreenUpdating = False
Set f1 = Sheets("Objet_Free")
DerLig = f1.Range("A" & Rows.Count).End(xlUp).Row
DerCol = f1.Range("A1").End(xlToRight).Column
f1.Range(Cells(2, DerCol + 1), Cells(DerLig, DerCol + 1)).FormulaR1C1 = "=IFERROR(MATCH(RC[-1],objet_Perdu!C2,0),""X"")"
f1.Range(Cells(2, "A"), Cells(DerLig, DerCol + 1)).Sort [C1], 1
Set L = f1.Columns(DerCol + 1).Find("X", LookIn:=xlValues, LookAt:=xlWhole)
If Not L Is Nothing Then f1.Rows("2:" & L.Row - 1).Delete
Columns(DerCol + 1).ClearContents
Set f1 = Nothing
Set L = Nothing
End Sub
Cdlt