Sub DecoupeSelection()
Dim xcell As Range
For Each xcell In Selection
xcell.Value = decoupe(xcell.Value, 30)
xcell.WrapText = True
xcell.EntireRow.AutoFit
Next xcell
End Sub
Function decoupe$(x, nCar)
Dim si$, sf$, k&, n&, c$, wasVbcr
si = x
n = 1
k = 0
Do
If n > Len(si) Then Exit Do
c = Mid$(si, n, 1)
n = n + 1
Select Case c
Case vbCr
sf = sf & vbCrLf
wasVbcr = True
k = 0
Case vbLf
If wasVbcr Then
wasVbcr = False
k = 0
Else
sf = sf & vbCrLf
wasVbcr = False
k = 0
End If
Case "."
sf = sf & "." & vbCrLf
wasVbcr = False
k = 0
Case Else
sf = sf & c
wasVbcr = False
k = k + 1
End Select
If k = nCar Then
sf = sf & vbCrLf
k = 0
End If
Loop
decoupe = sf
End Function