XL 2019 macro pour couper une cellule en plusieurs

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

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
 
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

- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Réponses
8
Affichages
870
Retour