COUPURE LIBELLE AVEC NOMBRE DE CARACTERE (mot entier)

coolreds

XLDnaute Occasionnel
Bonjour

j'ai besoin de couper un libelle en deux partie mais cette coupure doit se faire par mot entier jusqu'à une limite de 60 caractères

j'ai mis un fichier exel en exemple

merci pour votre aide
 

Pièces jointes

  • TEST.xlsx
    11.9 KB · Affichages: 48

vgendron

XLDnaute Barbatruc
Hello

Voir PJ avec fonction personalisée
VB:
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


Hello PierreJean ;-)
 

Pièces jointes

  • TEST.xlsm
    16.6 KB · Affichages: 44

Discussions similaires

Réponses
3
Affichages
449

Statistiques des forums

Discussions
312 489
Messages
2 088 848
Membres
103 974
dernier inscrit
chmikha