Répéter une valeur selon un nombre d'attributs

Bonjour,

J'essaie de passer d'une ligne de valeurs aléatoires ayant un identifiant unique (allant de la colonne A à AK) à une colonne où l'ID est répété X fois en fonction de son nombre d'attributs (mes attributs varient de 1 à 33, mais peuvent aller au-delà pour d'autres projets).

Je m'explique :

J'ai dans mon onglet n°1

ID | nb_attributs | att_1 | att_2 | att_3 |

9,28259E+17 | 2 | Phalingo | #NYCMarathon |

9,28254E+17 | 1 | CoronationDents |

9,28252E+17 | 3 | Cledawgs | #USA | #runchat |

9,28251E+17 | 2 | embassyofsport | #NYCMarathon

9,28246E+17 | 1 | WomensRunning

Je voudrais dans mon onglet n°2 :

ID | nb_attributs | attribut

9,28259E+17 | 2 | Phalingo

9,28259E+17 | 2 | #NYCMarathon

9,28254E+17 | 1 | CoronationDents

9,28252E+17 | 3 | Cledawgs

9,28252E+17 | 3 | #USA

9,28252E+17 | 3 | #runchat |

etc.

Gmb m'a déjà donné une solution avec cette question : https://forum.excel-pratique.com/post596737.html#p596737

Seulement, mon niveau de VBA est encore balbutiant pour répondre à cette nouvelle problématique...

Quelqu'un a-t-il une solution ?

bonjour,

une proposition

Sub aargh()
    With Sheets("sheet1") 'feuillesource
        Sheets.Add 'feuille résultat
        Set ws = ActiveSheet
        dl = .Cells(Rows.Count, 1).End(xlUp).Row 'dl = nombre de lignes
        k = 1 ' nombre de lignes résultat
        ws.Cells(1, 1).Resize(, 3) = Split("ID,nb_attr,attr", ",") ' titre
        For i = 2 To dl 'boucle lignes
            dc = .Cells(i, 2)
            For j = 1 To dc 'boucle colonne
                k = k + 1
                .Range("A" & i & ":B" & i).Copy ws.Range("A" & k & ":B" & k)
                ws.Cells(k, 3) = .Cells(i, j + 2)
            Next j
        Next i
    End With
End Sub

Merci beaucoup, cela fonctionne parfaitement !

Rechercher des sujets similaires à "repeter valeur nombre attributs"