XL 2016 Principe du text to columns en text to row

  • Initiateur de la discussion Initiateur de la discussion Vinvol
  • Date de début Date de début

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 !

Vinvol

XLDnaute Junior
Bonjour,

Je cherche un moyen de faire un "text to row" et je sèche complètement...

Le principe, c'est que j'ai des entrées uniques dans un tableau, mais l'une des propriétés de chaque entrée est multiévaluée.
Un text to column me permet d'individualiser les valeurs de cette propriété, mais chaque ligne a alors un nombre de colonnes différent.

Ce que j'aimerais faire, c'est dupliquer mes lignes autant de fois qu'il y a de valeurs dans cette propriété.
Et je ne sais pas comment.

Ci-joint un exemple qui illustre mieux que cette description boiteuse ce que je cherche à atteindre.

Merci,
Vinvol
 

Pièces jointes

Bonsoir,
un essai pour tester :

Code:
Sub test()
Dim Pl As Range, s, T(), i&, j&, L&
Set Pl = Range("A3").CurrentRegion
ReDim T(1 To Pl.Rows.Count)

Range("E3").CurrentRegion.ClearContents

'calcul du nombre de lignes du tableau final
For i = LBound(T) To UBound(T)
     T(i) = Len(Pl(i, Pl.Columns.Count)) - Len(Replace(Pl(i, Pl.Columns.Count), "|", vbNullString))
     L = L + T(i)
Next i

ReDim T(1 To Pl.Rows.Count + L, 1 To Pl.Columns.Count)
L = 1

For i = 1 To UBound(T)
     s = Split(Pl(i, Pl.Columns.Count), "|")
     For j = LBound(s) To UBound(s)
        T(L, 1) = Pl(i, 1)
        T(L, 2) = Pl(i, 2)
        T(L, 3) = s(j)
        L = L + 1
    Next j
    If L > UBound(T) Then Exit For
Next i

Range("E3").Resize(UBound(T), UBound(T, 2)) = T
End Sub

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

Retour