Sub Doublons_2()
Dim D1, D2, P As Range, C As Range, a()
Set D1 = CreateObject("Scripting.Dictionary")
Set D2 = CreateObject("Scripting.Dictionary")
Set P = Range("B3", [B65000].End(xlUp))
For Each C In P
If C.Value <> 0 And C.Value <> "" Then D1(C.Value) = D1(C.Value) + 1
If D1(C.Value) > 1 Then D2(C.Value) = C.Value
Next C
If D2.Count Then
a = D2.keys
MsgBox Join(a, ";") & " existe(nt) déjà", 64, "Attention"
End If
End Sub