Bonsoir le forum,
A tester :
En passant par un tableau intermédiaire.
Option Explicit
Sub Surligne_Doublons()
Dim a(), i As Long, n As Long, z As String, txt As String
Application.ScreenUpdating = False
With Sheets(1)
.Range("e2").CurrentRegion.Clear
With .Range("a1").CurrentRegion
.Interior.ColorIndex = xlNone: n = 1
For i = 2 To .Rows.Count
.Rows(i).Copy .Offset(n, .Columns.Count + 1)(1)
With .Offset(n, .Columns.Count + 1).Resize(1, 3)
.Sort .Rows(1), 1, , , , , , , , , xlSortRows
End With
n = n + 1
Next
End With
With .Range("e2").CurrentRegion
a = .Value
With CreateObject("Scripting.Dictionary")
.CompareMode = vbTextCompare
For i = 1 To UBound(a, 1)
z = a(i, 1) & ";" & a(i, 2) & ";" & a(i, 3)
If Not .exists(z) Then
.Add z, Nothing
Else
txt = txt & Sheets(1).Cells(i + 1, 1).Resize(, 3).Address(0, 0)
Sheets(1).Range(Mid$(txt, 1)).Interior.ColorIndex = 42: txt = ""
End If
Next
End With
.Clear
End With
End With
Application.ScreenUpdating = True
End Sub
klin89