Transformer plusieurs colonnes de données en une seule colonne indexée Le sujet est résolu

Y compris Power BI, Power Query et toute autre question en lien avec Excel
M
Meistermann
Nouveau venu
Nouveau venu
Messages : 2
Inscrit le : 20 septembre 2019

Message par Meistermann » 20 septembre 2019, 14:36

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 :) !
Problem Example.xlsx
(19.35 Kio) Téléchargé 7 fois
Avatar du membre
Ausecour
Passionné d'Excel
Passionné d'Excel
Messages : 3'125
Appréciations reçues : 345
Inscrit le : 31 mai 2018
Version d'Excel : 2010 FR, 2013 FR

Message par Ausecour » 20 septembre 2019, 14:51

Bonjour et :bv3: sur le forum,

c'est possible de faire ça oui, avec la solution suivante:
Problem Example.xlsm
(30.64 Kio) Téléchargé 13 fois
:btres:
Plus un sujet a un titre précis, des explications claires, et un fichier Excel bien préparé, plus il a de chances d'avoir une réponse qui répond au besoin, mettez toutes les chances de votre côté :bien:
"100% des gagnants auront tenté leur chance" :trfl:
Avatar du membre
R@chid
Membre impliqué
Membre impliqué
Messages : 2'687
Appréciations reçues : 25
Inscrit le : 14 novembre 2012
Version d'Excel : 2016 FR

Message par R@chid » 20 septembre 2019, 14:57

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
Modifié en dernier par R@chid le 20 septembre 2019, 15:08, modifié 1 fois.
"Donnez moi un point d'appui et je soulèverai le monde"
h
h2so4
Passionné d'Excel
Passionné d'Excel
Messages : 8'501
Appréciations reçues : 282
Inscrit le : 16 juin 2013
Version d'Excel : 2013 UK Windows 10

Message par h2so4 » 20 septembre 2019, 14:58

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
M
Meistermann
Nouveau venu
Nouveau venu
Messages : 2
Inscrit le : 20 septembre 2019

Message par Meistermann » 20 septembre 2019, 15:08

Bonjour messieurs dames,

Merci beaucoup pour vos réponses.
Je suis impressionné pas la vitesse à laquelle vous répondez !
Bravo et encore merci!
Répondre Sujet précédentSujet suivant
  • Sujets similaires
    Réponses
    Vues
    Dernier message