Bonsoir Martin1972, Girodo, le forum
A tester, restitution à côté du tableau initial.
Option Explicit
Sub test()
Dim a, i As Long, j As Long, n As Long
With Sheets("Feuil1").Range("a1").CurrentRegion
a = .Value
With CreateObject("Scripting.Dictionary")
.CompareMOde = 1
For i = 2 To UBound(a, 1)
If Not .exists(a(i, 1)) Then
n = n + 1: .Item(a(i, 1)) = n
For j = 1 To 2
a(n, j) = a(i, j)
Next
Else
a(.Item(a(i, 1)), 2) = a(.Item(a(i, 1)), 2) & "," & a(i, 2)
End If
Next
End With
With .Offset(, .Columns.Count + 3)
.CurrentRegion.Clear
.Resize(1, 2).Value = Array("REFERENCE", "VALEUR")
.Offset(1).Resize(n).Value = a
With .CurrentRegion
.Rows(1).BorderAround Weight:=xlThin
.BorderAround Weight:=xlThin
.Borders(xlInsideVertical).Weight = xlThin
End With
End With
End With
End Sub
klin89