Power query retour à la ligne selon un nombre de caractères

Bonjour

j'ai cherché dans le forum, il ne me semble pas que ma question a déjà été posée, je m'excuse si tel est le cas..

j'ai dans une cellule beaucoup de texte et j'ai besoin de faire un retour à la ligne tous les 30 caractères mais sans couper les mot évidement

Je remercie par avance la bonne âme qui voudra bien m'aider

Bonjour

Pourquoi ne pas laisser le texte aller naturellement à la ligne ?

image

C'est pour l'intégrer dans un ERP en csv. Cela doit rentrer dans une colonne de maxi 51 caractères de largeur...

En fait, si j'intègre le texte comme cela sans saut de ligne mon ERP coupe l'info à l'impression..

Si je mets des retours à la ligne ça fonctionne.

Bonjour,

Voici une proposition dont tu devras poursuivre le code

Pour voir l'effet du code tu cliques deux fois sur la feuille

Bonjour à tous !

Une approche Power Query :

Remarque : Un nettoyage a été opéré (espace insécable et autres caractères non imprimables)

Au top!! merci beaucoup JFL pour cette solution Power query!!

Et merci Jacky pour la macro!

Bonne soirée, merci encore

Bonsoir à tous !

Bien....

Je vous remercie de ce retour.

Bien le bonsoir,

Au plaisir sur le Forum

Salut Miss,
Salut l'équipe,

pour le plaisir de ne pas laisser tout le terrain à Power Query...
, une solution VBA.

Comme tu parles d'une largeur max de 51 caractères possibles, le saut de ligne s'opère sur l'espace la plus proche des 30 caractères ou sur un "."
En l'état, il faut double-cliquer sur la cellule-texte que l'on souhaite traiter pour voir le résultat

For x = 1 To Len(Target)
    If x = iStep + 30 Then iIdx = 1
    If (Mid(Target, x, 1) = Chr(32) And iIdx = 1) Or (Mid(Target, x, 1) = Chr(46) Or x = Len(Target)) Then _
        sMsg = sMsg & LTrim(Mid(Target, iStep, x - iStep + 1)) & IIf(x = Len(Target), "", vbLf): _
        iStep = x + 1: _
        iIdx = 0
Next
10miss.xlsm (17.23 Ko)

A+

Rechercher des sujets similaires à "power query retour ligne nombre caracteres"