XL 2019 macro pour couper une cellule en plusieurs

jhibon80

XLDnaute Nouveau
j'ai une cellule comprenant la désignation d'un produit avec un max de 300 caractères et je souhaite la diviser en maxi 7 colonnes de 50 caractères SANS coupure de mot.
j'utilise la fonction STXT mais ça me coupe les mots n'importe comment.

je ne connais pas trop les macros .....mais je pense que c'est ma solution......

merci d'avance
 

job75

XLDnaute Barbatruc
Bonsoir jhibon80, laurent3372,

Voyez le fichier joint et cette fonction VBA à placer impérativement dans un module standard :
VB:
Function Coupure(t$, maxi%)
Dim s, i%, x$, n%, a$()
t = Application.Trim(t) 'SUPPRESPACE
s = Split(t) 'séparateur l'espace
For i = 0 To UBound(s)
    x = x & s(i) & " "
    If Len(x) - 1 > maxi Then
        n = n + 1
        ReDim Preserve a(1 To n)
        a(n) = Left(x, Len(x) - Len(s(i)) - 2)
        i = i - 1
        x = ""
    End If
Next
If x <> "" Then n = n + 1: ReDim Preserve a(1 To n): a(n) = RTrim(x)
Coupure = a 'vecteut ligne
End Function
La fonction renvoie une matrice (vecteur ligne), elle est utilisée avec cette formule en B2, à tirer à droite :
Code:
=SIERREUR(INDEX(Coupure($A2;50);COLONNES($B2:B2));"")

A+
 

Pièces jointes

  • exemple(1).xlsm
    17.4 KB · Affichages: 15

Discussions similaires

Statistiques des forums

Discussions
312 160
Messages
2 085 841
Membres
103 002
dernier inscrit
LERUS