Transformer plusieurs colonnes de données en une seule colonne indexée

Bonjour,

Dans le cadre de mon travail, je reçois régulièrement un excel de la même forme que celle que vous trouverez dans l'onglet "DATA" du fichier en pièce jointe : plusieurs colonnes de codes.

Afin de pouvoir utiliser plus facilement des formules telles que vlookup, je retravaille à chaque fois ce fichier manuellement afin d'obtenir la forme que vous trouverez dans l'onglet "GOAL" du fichier en pièce jointe : une seule colonne indexée.

Si cela m'a été assez rapide à faire pour le fichier qui est ici en exemple, cela peut être extrêmement chronophage lorsque l'excel de base est composé de centaines de lignes et colonnes et que je dois effectuer des dizaines et des dizaines de copier coller.

J'ai cherché plusieurs solutions qui me permettraient d'automatiser cette mise en forme mais je n'ai jamais trouvé.

Auriez vous une idée sur la manière dont on pourrait faire cela ?

Merci beaucoup pour votre aide !

Bonjour et sur le forum,

c'est possible de faire ça oui, avec la solution suivante:

Bonjour et Bienvenu sur XLP,

je ne sais pas quelle version Excel tu utilises, mais tu peux toutefois utiliser power qwery et avec quelques clics tu vas arriver au résultat escompté.

Cordialement

Edit : Bonjour les amis

Bonjour,

une proposition

Edit bonjour Ausecour, Bonjour R@chid

Sub aargh()
    Set wsg = Sheets("goal")
    With Sheets("data")
        col = 1
        k = 1
        While .Cells(1, col) <> ""
            dl = .Cells(Rows.Count, col).End(xlUp).Row
            wsg.Cells(k, 1).Resize(dl - 1, 1).Value = .Cells(2, col).Resize(dl - 1, 1).Value
            wsg.Cells(k, 2).Resize(dl - 1, 1) = .Cells(1, col)
            k = k + dl - 1
            col = col + 1
        Wend
    End With
End Sub

Bonjour messieurs dames,

Merci beaucoup pour vos réponses.

Je suis impressionné pas la vitesse à laquelle vous répondez !

Bravo et encore merci!

Rechercher des sujets similaires à "transformer colonnes donnees seule colonne indexee"