Je suppose que tes données sont dans la colonne A de ta feuille Feuil1 et qu'une feuille Feuil2 existe.
Sub toto()
Dim k As Integer, j As Integer
With Sheets("Feuil1")
k = 1
j = 1
On Error GoTo fin
For i = 1 To .Range("A" & .Rows.Count).End(xlUp).Row
If Split(.Cells(i, 1), "-")(0) = Split(.Cells(i + 1, 1), "-")(0) Then
Sheets("Feuil2").Cells(k, j) = .Cells(i, 1)
j = j + 1
Else
Sheets("Feuil2").Cells(k, j) = .Cells(i, 1)
j = 1
k = k + 1
End If
Next i
fin:
Sheets("Feuil2").Cells(k, j) = .Cells(i, 1)
End With
End Sub