Bonsoir Morinjm
et bienvenue sur le forum
A tester :
Option Explicit
Sub test()
Dim a, w(), i As Long, dico As Object
Set dico = CreateObject("Scripting.Dictionary")
dico.CompareMode = 1
Application.ScreenUpdating = False
With Sheets(1)
With .Range("a2", .Range("a" & Rows.Count).End(xlUp)).Resize(, 3)
With .Columns(3)
.ClearContents
.NumberFormat = "@"
.HorizontalAlignment = xlCenter
End With
a = .Value
For i = 1 To UBound(a, 1)
If Not dico.exists(a(i, 1)) Then
dico(a(i, 1)) = VBA.Array(i, CreateObject("Scripting.Dictionary"))
End If
w = dico(a(i, 1))
If Not dico(a(i, 1))(1).exists(a(i, 2)) Then
dico(a(i, 1))(1)(a(i, 2)) = Empty
a(dico(a(i, 1))(0), 3) = a(dico(a(i, 1))(0), 3) & _
IIf(a(dico(a(i, 1))(0), 3) <> "", "|", "") & a(i, 2)
End If
'dico(a(i, 1)) = w
Next
.Value = a
.Columns(3).AutoFit
End With
End With
Set dico = Nothing
Application.ScreenUpdating = True
End Sub
La prochaine fois ouvre un nouveau fil
klin89