Bonsoir,
Le Else ne sert à rien dans cette configuration :
Au départ de ta première boucle, donc après :
For Each cr In rf
tu mets une variable booléenne à True, par exemple Lb :
Lb = True
Dans le test inclus dans ta boucle interne :
For Each cr In rc
If cr.Value = cf.Value Then
cf.Font.ColorIndex = 8
Lb = False: Exit For
End If
Next cr
Si le test est positif, tu colores et tu passes cette variable booléenne à False.
Juste après :
If Lb Then
'c'est là si variable restée à True que tu affectes à ListBox
End If
Next cf
Soit tu utilises AddItem et tu affectes les éléments individuellement l'un après l'autre, quand ils se présentent,
soit tu les accumules dans un tableau que tu incrémentes au fur et à mesure pour l'affecter à la fin à la ListBox en utilisant la propriété List.
Mais tu n'as pas dit si ta ListBox était sur la feuille ou dans un Userform...
NB- Et pense à ll'utilisation des balises Code pour citer du code, et aussi à indenter le code en l'écrivant