Dupliquer des lignes selon une cellule contenant plusieurs éléments séparés

Bonjour,

Je suis à la recherche d'une formule ou idéalement d'une fonction power query (que je n'arrive pas à trouver), pour faire la chose suivante:

  • J'importe un fichier CSV à plusieurs colonne (une colonne par "élément")
  • L'une des colonne contient des "marqueurs" séparés par des virgules (au maximum 5)
  • Je souhaite pouvoir analyser ces dits marqueurs en "dupliquant" les lignes pour chacun des marqueurs présents.

Vous trouverez en pj un fichier avec l'onglet comportant ma source et ce que je souhaiterai obtenir en sortie.

Merci par avance pour votre aide

Thibaut

Bonjour,

Une piste à adapter et à exécuter après importation de ton csv :

Sub Test()

    Dim Plage As Range
    Dim Cel As Range
    Dim Tbl() As String
    Dim T
    Dim I As Long
    Dim J As Integer

    'défini la plage sur la colonne C de la feuille active à partir de C2
    With ActiveSheet: Set Plage = .Range(.Cells(2, 3), .Cells(.Rows.Count, 3).End(xlUp)): End With

    For Each Cel In Plage

        T = Split(Cel.Value, ",")

        If UBound(T) > 0 Then

            For J = 0 To UBound(T)

                I = I + 1: ReDim Preserve Tbl(1 To 3, 1 To I)
                Tbl(1, I) = Cel.Offset(, -2).Value
                Tbl(2, I) = Cel.Offset(, -1).Value
                Tbl(3, I) = T(J)

            Next J

        Else

            I = I + 1: ReDim Preserve Tbl(1 To 3, 1 To I)
            Tbl(1, I) = Cel.Offset(, -2).Value
            Tbl(2, I) = Cel.Offset(, -1).Value
            Tbl(3, I) = Cel.Value

        End If

    Next Cel

    'colle le tableau en colonne G à partir de G2
    Range(Cells(2, 7), Cells(UBound(Tbl, 2) + 1, 6 + UBound(Tbl, 1))).Value = Application.Transpose(Tbl)

End Sub

Merci beaucoup! Ca devrait fonctionner, je vais tester sur un fichier plus gros et je vous dis ce qu'il en est!

Merci!

Rechercher des sujets similaires à "dupliquer lignes contenant elements separes"