re,
essaie ceci sur un fichier sans valeur; données en colonne B et C et nomme "source" là où sont tes données et "cible" où elles iront
P.
ps: plus dispo pendant qq jours, si besoin d'aide demande à d'autres ici, il y a bien plus compétent que moi
Sub Inverser_regrouper()
Set f = Sheets("cible")
Set f1 = Sheets("source")
Set d = CreateObject("Scripting.Dictionary")
Set d2 = CreateObject("Scripting.Dictionary")
f1.Select
For Each c In [B2].Resize(Application.CountA([b:b]))
tmp = c.Value & c.Offset(, 1)
If c.Value <> "" Then
If Not d2.exists(tmp) Then d(c.Value) = d(c.Value) & c.Offset(, 1) & "|"
d2(tmp) = ""
End If
Next c
ligne = 1: col = 1
For Each c In d.keys
f.Cells(ligne, col) = c
a = Split(d.Item(c), "|")
f.Cells(ligne, col).Offset(1).Resize(UBound(a) + 1) = Application.Transpose(a)
col = col + 1
Next c
f.Select
End Sub