Re,
C'est presque ça !... En fait il ne supprime pas les doublons, il n'en tient compte que pour la concaténation
et renvoie le résultat dans un tableau de deux colonnes (Références / N° Affaire) à partir de D1. J'ai trouvé inutile de répéter la concaténation des affaires sur chaque ligne de référence...
C'est d'ailleurs ce que fait le code de GMB que je te recopie ici. Comme ça tu pourras choisir celui qui te convient le mieux...
Option Explicit
Dim tablo, dico, v, i&
Sub Concatener()
tablo = Range("A2:B" & Range("A" & Rows.Count).End(xlUp).Row)
Set dico = CreateObject("Scripting.Dictionary")
For i = 1 To UBound(tablo, 1)
If dico.exists(tablo(i, 1)) Then
v = dico(tablo(i, 1))
dico.Remove (tablo(i, 1))
dico(tablo(i, 1)) = v & " " & tablo(i, 2)
Else
dico(tablo(i, 1)) = tablo(i, 2)
End If
Next i
For i = 2 To UBound(tablo, 1) + 1
Range("C" & i) = dico(tablo(i - 1, 1))
Next i
End Sub