Split marche effectivement bien sauf que tu ne peux pas déterminer à quel le longueur couper la chaine de caractère : s'il y a pluieurs "espaces" dans la chaine, par exemple.
En admettant que tes cellules sont toutes en colonne A, j'opterais plutot pour un truc du type :
Sub split()
Dim i As Integer, a As Integer, b As Integer, j As Integer
Dim longueurmax As Integer, cpt As Integer
longueurmax = 50
j = 1
a = 1
b = 1
Do Until IsEmpty(Cells(a, b))
Do While Len(Cells(a, b)) > longueurmax
If InStr(Left(Cells(a, b), longueurmax), " " ) Then
For i = 0 To longueurmax
If Mid(Cells(a, b), longueurmax - i, 1) = " " Then
Cells(a, b + j) = Right(Cells(a, b), Len(Cells(a, b)) - longueurmax + i)
Cells(a, b) = Left(Cells(a, b), longueurmax - i - 1)
b = b + 1
Exit For
End If
Next i
End If
Loop
b = 1
a = a + 1
Loop
End Sub
Voila.