Bonsoir Halo,
Ci-dessous une proposition pour résoudre ton problème :
Sub Regroupement()
Dim TabTemp As Variant
Dim V As Variant
Dim L As Long, Ligne As Long, VL As Long
Dim ColDepart As Integer, C As Integer
'
Définition de la colonne de départ (colonne n)
ColDepart = 1
With ActiveSheet
'
Mémorisation de l'ensemble des données
L = .Range("A65536").End(xlUp).Row
TabTemp = .Range(.Cells(1, ColDepart), .Cells(L, ColDepart + 1)).Value
'
Mémorisation de la première donnée et ligne associée
V = TabTemp(1, 1)
VL = 1
'Pour chaque ligne suivante
For Ligne = 2 To UBound(TabTemp, 1)
'
La valeur a t'elle changé ?
If TabTemp(Ligne, 1) = V Then
'
Si non
C = .Cells(VL, 256).End(xlToLeft).Column + 1
.Cells(VL, C).Value = TabTemp(Ligne, 2)
.Cells(Ligne, ColDepart + 1) = ""
Else
'
Si oui
V = TabTemp(Ligne, 1)
VL = Ligne
End If
Next Ligne
End With
End Sub
Cordialement.
Didier_mDF