Découper une colonne sur plusieurs lignes

Bonjour,

8exemple.xlsx (9.28 Ko)

En PJ ce que je souhaite faire :

  • la colonne A représente les données que je récupère d'un logiciel
  • la colonne B représente un exemple des valeurs de la colonne A (en jaune les valeurs fixes)
  • les colonnes D à I représentent le tableau que j'ai besoin de créer selon les valeurs de la colonne A

Toutes les données d'un article vont se mettre sur les lignes en dessous de son nom : il peut y avoir 5 données différentes par article, donc 5 lignes, mais parfois il manque la position ou la date donc je peux me retrouver avec 3, 4 ou 5 lignes par article.

Comment feriez-vous pour découper la colonne A et coller sous forme de tableau ?

(pour simplifier je pensais commencer par supprimer la position et la date lorsque ces valeurs existent car je n'en ai pas besoin, mais comment faire?)

D'habitude je me débrouille mais vu le nombre de lignes à traiter je pense que je suis obligé de passer par une macro. Je suis en train de me documenter sur les boucles mais pour le moment je patine ..

Un grand merci à celui qui pourrait m'aider !

Bonjour,

Je ferais comme ceci :

Sub tableau()
Dim t As ListObject
    Sheets("resultat").Select
    Set t = Sheets("resultat").ListObjects(1)
    If Not t.DataBodyRange Is Nothing Then t.DataBodyRange.Delete

    With Sheets("donnees")
        For i = 2 To .Range("A" & Rows.Count).End(xlUp).Row
            If .Cells(i, 1).Value = "Article" Then t.ListRows.Add
            t.ListColumns(.Cells(i, 1).Value).DataBodyRange.Rows(t.ListRows.Count).Value = .Cells(i, 2).Value
        Next
    End With
End Sub
14exemple.xlsm (17.31 Ko)

O_o

Mais c'est super ! Merci beaucoup

Le code est intéressant, et dire que j'essayais de faire une bouclier DO LOOP

Pour simplifier le code, l'astuce est d'utiliser un tableau au sens excel sachant que les colonnes sont identifiées dans ce cas par leur titre. Ce qui signifie aussi que les colonnes peuvent ne pas suivre les lignes et items de la source.

Rechercher des sujets similaires à "decouper colonne lignes"