Convertir automatiquement un tableau avec décalage et duplication de ligne

Bonjour,

Sur le fichier ci joint je souhaiterais convertir le tableau en feuil1 pour le convertir sous le format de tableau en feuil2.

La feuil1 est une arborescence de dossier qui peut évoluer. le nombre de sous dossier et dossier de peut changer régulièrement.

Serait possible d'automatiser cette transformation ?

merci d'avance de vos retour

19essai.xlsx (9.86 Ko)

Bonjour,

C'est possible assez facilement via vba. Ci-après un exemple :

Sub CopieVersFeuille2()
    Dim MyFiles As Range
    With Feuil1
        Set MyFiles = Range(.Range("B1"), .Range("B" & .Rows.Count).End(xlUp))
    End With

    Dim doc As Range, destination As Range
    For Each doc In MyFiles.Rows
        If doc.Value2 <> vbNullString Then
            With ThisWorkbook.Worksheets(2)
                Set destination = .Range("A" & .Rows.Count)
            End With
            With destination.End(xlUp).Offset(1, 0)
                .Value2 = doc.Offset(0, -1).End(xlUp).Value2
                .Offset(0, 1) = doc.Value2
            End With
        End If
    Next doc
End Sub

Bon il y a juste 1 ligne vide en haut car je n'ai pas voulu faire un test sur la 1e itération mais le résultat est le meme.

Bonjour à tous !

Une approche très basique via Power Query :

Si la source évolue, faire "Actualiser tout " pour mettre à jour le tableau.

bonjour

une contribution par formules

cordialement

14val42.xlsx (13.30 Ko)

Bonsoir à tous !

Une version type "formule unique et dynamique" pour l'entièreté du tableau (Microsoft 365) :

=LET(
    plage;  tSource;
    détail; PRENDRE(plage; ; -1);
    tablea; ASSEMB.H(SCAN(""; PRENDRE(plage; ; 1); LAMBDA(i;c; SI(c = 0; i; c))); détail);
    ASSEMB.V({"Dossier"."Détail"}; FILTRE(tablea; détail <> 0))
)
image
Rechercher des sujets similaires à "convertir automatiquement tableau decalage duplication ligne"