XL 2021 Longueur de texte sur une ligne

Ex Elle

XLDnaute Nouveau
Bonjour,

J'ai un fichier Excel que je charge ensuite dans notre ERP afin de générer des factures en masse. Chaque ligne Excel donnera lieu à l'émission d'une facture.

Mon problème est que je dois reprendre une zone de texte de taille variable (détail de la prestation facturée) mais mon ERP ne tolère pas plus de 72 caractères max par ligne (et non pas par cellule). Quand j'arrive à 72 caractères je dois faire un ALT+Entrée pour aller à la ligne. Je précise que tout se passe au sein d'une même cellule donc avec NB.CAR ça ne marche pas. Pour quelques factures je m'amuse à compter mais en ayant une bonne centaine à faire ça se complique.

Voyez vous un moyen de faire cela ? Pensez-vous que ça soit possible ?

Merci beaucoup pour votre aide.
 

xUpsilon

XLDnaute Accro
Bonjour,

Si l'ERP est capable de repérer des retours à la ligne, c'est qu'il analyse ton texte. Sauf que ton texte est interpreté par ton ERP au moment de l'import. Donc il suffirait d'imiter le retour chariot pour que l'ERP interprète ton string comme 2 bouts de string séparés par un retour chariot. En gros, on cherche l'équivalent de vbCrLf pour ton ERP. Si on traduit en ASCII, retour chariot est chr(13).
Soit on force l'interprétation par l'ERP, soit on peut toujours faire une macro évènementielle qui compte et insère des retours chariots après que tu aies validé ta cellule.

Bonne journée,
 

sylvanu

XLDnaute Barbatruc
Supporter XLD
Bonjour ExElle, xUpsilon,
Peut être en VBA, cela serait simple.
En PJ un essai avec :
VB:
Sub Découpe()
    Chaine = [A5]
    N = Len(Chaine) / 72: Dep = 1: Arr = 72
    For i = 0 To N
        Sortie = Sortie & Chr(10) & Mid(Chaine, Dep, 72)
        Dep = Dep + 72
    Next i
    [A10] = Sortie
End Sub
Qu'on peut facilement adapter.
 

Pièces jointes

  • DécoupeChaine.xlsm
    14.1 KB · Affichages: 1

Discussions similaires

Statistiques des forums

Discussions
314 716
Messages
2 112 165
Membres
111 447
dernier inscrit
jasontantane