Du coup voilà mon code modifié :
Sub decoupe38()
'Déclaration des variables
Dim nbLignes As Long, i As Long
Dim NCarMax As Integer, Coupe As Integer
Dim phrase As String
NCarMax = 38
With Sheets("Feuil1") 'Toute instruction commençant par "." s'y rattache
nbLignes = .Range("A" & .Rows.Count).End(xlUp).Row 'Dernière ligne à traiter
For i = 2 To nbLignes 'Boucle sur les lignes
phrase = .Range("E" & i).Value
If Len(phrase) > NCarMax Then 'Comparaison de la longueur de phrase avec le maximum autorisé
Coupe = NCarMax - InStr(StrReverse(Left(phrase, NCarMax)), " ") + 2 'Détermine la coupure de mot <38 caractères
If IsEmpty(.Range("F" & i)) Then .Range("F" & i) = Mid(phrase, Coupe, 100) 'On reporte l'éxcédent
.Range("E" & i) = Left(phrase, Coupe - 2) 'On ne conserve dans la cellule de gauche que les caractères avant coupure
End If
Next i
End With
End Sub