Function separe(Libelle As Range, NumMot As Integer)
'rend la fonction volatile: se raffraichit à chaque changement dans la feuille excel
Application.Volatile
'crée un tablo qui contient tous les elements séparés par un espace
tablo = Split(Libelle, " ")
'pour chaque element de ce tablo
For i = LBound(tablo) To UBound(tablo)
'si le Mot1 final dépasse les 60 caractères, on sort de la boucle for
If Len(Mot1) + Len(tablo(i)) > 59 Then Exit For '59 à cause de l'espace ajouté
'sinon, on reconstitue le Mot1 avec l'élement du tablo auquel on rajoute l'espace
Mot1 = Mot1 & tablo(i) & " "
Next i
'le Mot2 est la fin du Libellé
Mot2 = Right(Libelle, Len(Libelle.Value) - Len(Mot1))
'selon l'argument de la fonction, 1 ou 2, on renvoit la première ou seconde partie du Libellé
If NumMot = 1 Then
separe = Mot1
Else: separe = Mot2
End If
End Function