XL 2013 Consolider les données de plusieurs classeurs en un seul

Yvan1

XLDnaute Occasionnel
Bonjour,
J'ai 3 classeurs de données que je souhaite consolider dans un 4è classeur.
Dans ce 4è classeur, il faut sur la feuille 1 :
- Récupérer les 2 premières colonnes du 1er classeur, et les coller sur la feuille 1 du classeur 4
- Récupérer la 2è colonne du 2è classeur, et la coller en 3è colonne du 4è classeur,
- Récupérer la 2è colonne du 3è classeur, et la coller en 4è colonne du 4è classeur
Puis sur la feuille 2 :
- Récupérer la première et la 3è colonnes du 1er classeur, et les coller sur la feuille 2 du classeur 4
- Récupérer la 3è colonne du 2è classeur, et la coller en 3è colonne du 4è classeur,
- Récupérer la 3è colonne du 3è classeur, et la coller en 4è colonne du 4è classeur
Puis sur la feuille 3 :
- Récupérer la première et la 4è colonnes du 1er classeur, et les coller sur la feuille 3 du classeur 4
- Récupérer la 4è colonne du 2è classeur, et la coller en 3è colonne du 4è classeur,
- Récupérer la 4è colonne du 3è classeur, et la coller en 4è colonne du 4è classeur
J'ai tenté de créer les requêtes, mais les données récupérées sont collées sur une nouvelle feuille, et non là où je le souhaite.
Je vous joins les classeurs "sources", qui doivent alimenter le 4è classeur. Ils sont identiques dans leur structure. Seules les données changent.
Je précise que ces classeurs sont alimentés quotidiennement.
Dans l'attente de votre aide,
Merci d'avance,
 

Pièces jointes

  • Ent A.xlsm
    8.6 KB · Affichages: 6
  • Ent B.xlsm
    8.6 KB · Affichages: 4
  • Ent C.xlsm
    8.6 KB · Affichages: 4

Staple1600

XLDnaute Barbatruc
Bonjour

je trouve que c'est un bon départ la requête PQ, non ?
PowerQuery:
let
    Source = Folder.Files("C:\Users\STAPLE\Documents\EXCEL\Consolide"),
    #"Fichiers masqués filtrés1" = Table.SelectRows(Source, each [Attributes]?[Hidden]? <> true),
    #"Appeler une fonction personnalisée1" = Table.AddColumn(#"Fichiers masqués filtrés1", "Transformer le fichier", each #"Transformer le fichier"([Content])),
    #"Colonnes renommées1" = Table.RenameColumns(#"Appeler une fonction personnalisée1", {"Name", "Source.Name"}),
    #"Autres colonnes supprimées1" = Table.SelectColumns(#"Colonnes renommées1", {"Source.Name", "Transformer le fichier"}),
    #"Colonne de tables développée1" = Table.ExpandTableColumn(#"Autres colonnes supprimées1", "Transformer le fichier", Table.ColumnNames(#"Transformer le fichier"(#"Exemple de fichier"))),
    #"Type modifié" = Table.TransformColumnTypes(#"Colonne de tables développée1",{{"Source.Name", type text}, {"Date", type date}, {"Données X", Int64.Type}, {"Données Y", Int64.Type}, {"Données Z", type number}})
in
    #"Type modifié"
J'obtiens les données des trois classeurs
Ensuite, je peux manipuler à l'envie le tableau structuré obtenu à l'envie, non ?
 

Yvan1

XLDnaute Occasionnel
Exact, Power Query est installé.
Je joins le fichier de requête.
Comme vous pourrez le constater, les données récupérées viennent se mettre sur un nouvel onglet.
J'avoue être totalement néophyte sur Power Query...
Dans l'attente de vos lumières.
Merci d'avance,
 

Pièces jointes

  • Conso Ent.xlsm
    24.9 KB · Affichages: 1

Staple1600

XLDnaute Barbatruc
Re

@Yvan1
Alors tu peux faire la chose suivante
Tu mets tes 3 classeurs dans un même dossier
A partir d'un 4ième classeur vierge tu fais :
Données/Obtenir les données/A partir d'un fichier/A partir d'un dossier
Tu sélectionnes ton dossier
Tu choisis ensuite: Transformer les données
Et normalement tu dois alors arriver ici
EPQ.png

Là, tu cliques sur les doubles-flèches que j'ai entouré en rouge.

Sinon, si tu sais utiliser l'éditeur avancé de PQ, tu copies/colles le code M de mon précédent message (en oubliant pas de modifier le chemin vers le dossier) plus tu cliques sur OK.
 

Yvan1

XLDnaute Occasionnel
Staple,
Merci pour les explications, mais ce n'est pas ce que je souhaite.
Dans ton cas, les données s'empilent.
Or, pour ma part, je souhaite que les colonnes se mettent les unes, à côté des autres comme énoncé précédemment.
As-tu une idée ?
Merci d'avance,
 

Staple1600

XLDnaute Barbatruc
Re

D'ailleurs pas besoin de faire de copier/coller
ChoixCol.PNG
On imagine que les les colonnes jaunes, bleues et vertes sont des onglets
En mettant cette formule dans chaque feuille (avec l'adaptation idoine)
=CHOISIRCOLS(FILTRE(A2:E58;Tableau_Consolide[Source.Name]="Ent A.xlsm");1;3)
Les données s'actualiseront à partir de la requête PowerQuery
 

Staple1600

XLDnaute Barbatruc
Re

@Yvan1
Exact, emporté dans mon élan, j'avais omis que tu étais sur Excel 2013.

Pourrait-on voir la structure de la feuille 4 ?

NB: En attendant une requête PQ plus évoluée que la mienne, on peut utiliser une macro.
Mais pour ce faire, j'aimerai voir à quoi ressemble la feuille 4
(ou mieux un onglet RESULTAT où tu auras réalisé manuellement ce que tu souhaites avec les 3 fichiers du 1er message)
 
Dernière édition:

Discussions similaires

Réponses
14
Affichages
358
Réponses
5
Affichages
440

Statistiques des forums

Discussions
315 127
Messages
2 116 497
Membres
112 765
dernier inscrit
SIDIANW