Salut Guigui, salut André,
Si j'ai bien compris, voici une proposition de code avec concaténation des valeurs en H et retour à la ligne :
Sub test()
Set dico = CreateObject("scripting.dictionary")
With Sheets(1).UsedRange.Offset(3, 0)
t = .Resize(.Rows.Count - 3).Value
For i = LBound(t) To UBound(t)
If Not dico.exists(t(i, 1) & t(i, 6) & t(i, 7)) Then
n = n + 1
dico(t(i, 1) & t(i, 6) & t(i, 7)) = n
For k = LBound(t, 2) To UBound(t, 2)
t(n, k) = t(i, k)
Next k
Else
pos = dico(t(i, 1) & t(i, 6) & t(i, 7))
t(pos, 8) = t(pos, 8) & Chr(10) & t(i, 8)
End If
Next i
If n > 0 Then
.ClearContents
.Resize(n, UBound(t, 2)).Value = t
End If
End With
End Sub
Ce code est à tester sur une copie du fichier car il remplace les valeurs pré-existantes.
Cdlt,