Function Espace40(ByVal Z As String) As String
Dim P As Long, Q As Long
Espace40 = Replace(Z, vbLf, " ")
P = 0: Q = 41
Do Until Q > Len(Espace40)
Q = InStrRev(Espace40, " ", Q)
If Q > P And Q - P <= 40 Then
Mid$(Espace40, Q, 1) = "|"
Else
Q = P + 40
Espace40 = Left$(Espace40, Q - 1) & "…|" & Mid$(Espace40, Q)
End If
P = Q: Q = Q + 41: Loop
End Function