Bonjour,
Deux tests, un par DICO (Site de Boisgontier, adapté au besoin), un par array (moins efficient, donc par moi) :
Sub DOUBLONS()
Dim DICO As Object, REF As Range
With Worksheets("Feuil5")
Set DICO = CreateObject("Scripting.Dictionary")
For Each REF In .[D2:J7]
If REF <> "" Then DICO(REF.Value) = ""
Next REF
.[B10].CurrentRegion.ClearContents
.[B10].Resize(DICO.Count, 1) = Application.Transpose(DICO.keys)
.[B10].CurrentRegion.Sort .[B9], xlAscending
End With
End Sub
'<------------------------------------------------------------------------->
Sub DOUBLON()
Dim REF As Range, DOUBLON As Boolean, L&
Dim DOUB()
With Worksheets("Feuil5")
ReDim DOUB(0)
DOUB(0) = .[D2]
For Each REF In .[D2:J7]
DOUBLON = False
For L = LBound(DOUB) To UBound(DOUB)
If REF = DOUB(L) Or REF = "" Then DOUBLON = True: Exit For
Next L
If DOUBLON = False Then
ReDim Preserve DOUB(UBound(DOUB) + 1)
DOUB(UBound(DOUB)) = REF
End If
Next REF
.[B10].CurrentRegion.ClearContents
.[B10].Resize(UBound(DOUB) + 1) = Application.WorksheetFunction.Transpose(DOUB)
.[B10].CurrentRegion.Sort .[B9], xlAscending
End With
End Sub
Cdlt,