Salut DJ.run
Pour ton problème de formule, je ne suis pas spécialiste, je laisse celà au pros.
En revanche, j'ai rencontré ton problème de vérification dans une liste et voilà comment je m'en suis sorti :
If Cells.Find(Textsortie, After:=ActiveCell, LookIn:=xlFormulas, _
LookAt:=xlWhole, SearchOrder:=xlByRows, SearchDirection:=xlNext, _
MatchCase:=False) Is Nothing Then _
Range("don!b2").End(xlDown).Offset(1, 0).Value = Textsortie.Value
Else: MsgBox ("données déjà existante "): Exit Sub
Bonne fin de journée