Dim Tableau() As String
Dim TR() As String
Dim i As Integer
fin = Range("a65536").End(xlUp).Row
Set plage = Range(Cells(1, 1), Cells(fin, 1))
For Each c In plage
If c <> Empty Then
x = x + 1
Tableau = Split(c, "-")
For i = 0 To UBound(Tableau)
Debug.Print Tableau(i)
ReDim Preserve TR(1 To fin, 1 To x)
TR(1, x) = TR(1, x) & Tableau(i)
Debug.Print TR(1, x)
Next i
TR(1, x) = Right(TR(1, x), Len(TR(1, x)) - 4)
Debug.Print TR(1, x)
End If
Next c
Cells(1, 2).Resize(UBound(TR, 2), UBound(TR, 1)).NumberFormat = "@"
Cells(1, 2).Resize(UBound(TR, 2), UBound(TR, 1)).HorizontalAlignment = xlRight
' Resultat en B1
Cells(1, 2).Resize(UBound(TR, 2), UBound(TR, 1)) = Application.Transpose(TR)
Cells(1, 2).Resize(UBound(TR, 2), UBound(TR, 1)) = Application.Trim(Application.Transpose(TR)) 'Supprime tous les espaces en trop exemple : 3 espaces entre "un et" = "un et"
End Sub