Créer un TCD à partir de plusieurs fichiers à la même structure

Bonjour à tous,

Je souhaite analyser des données enregistrées chaque semaine dans un fichier excel différent qui a la même structure.

Chaque semaine, j'ai un fichier excel avec 8 onglets (1 par machine). Je souhaite récupérer le tableau ci-dessous pour chaque machine et chaque semaine de l'année. Le chiffre indiqué correspond à un type de défaut.

image

Une fois ces données dans un seul fichier excel, je serai en mesure de créer un tableau croisé dynamique pour analyser les données à la semaine, la machine ou par type de défauts.

Je n'ai jamais utilisé les fonctions Power Query, donc pour le moment, j'ai simplement été capable de récupérer le même onglet de chaque excel mais sans mise en forme particulière...

D'avance merci!

Bonjour,

Et

Afin d'essayer de t'aider, pourrais-tu :

- Donner le type de nommage des fichiers? (est-ce que le numéro de semaine y apparait?)

- Fournir un fichier exemple, exempt de toutes données confidentielles, mais comportant au moins 2 onglets remplis?

@ te relire avec ces précisions

Bonne journée

Edit, est-ce que les fichiers sont dans un même répertoire? ou quelle structure pour le répertoire contenant ces fichiers?

Merci pour ce premier retour rapide!

Les fichiers ont un nom standard qui comprend le numéro de semaine.

Les onglets où sont les données s'appellent IAG1, IAG2,...

Et le créateur de ce fichier la protégé avec un mot de passe ultra sécurisé: mdp.

Et pour mon analyse, j'ai simplement copié tous les fichiers dans un même répertoire sur mon bureau.

Re-,

Dans le fichier joint, j'utilise Power Query, qui permet de récupérer toutes les données des onglets commençant par "IAG", dans les fichiers dont le nom commence par "defauts-presses-iag", ces fichiers étant positionnés dans le répertoire inscrit dans l'onglet "Paramètres", dans la cellule A2.

Pour un bon fonctionnement de PQ, tu dois tout d'abord le configurer comme indiqué dans l'onglet "Lisez-moi". Cette configuration est à faire une bonne fois pour toute.

Pour mettre à jour, dans le ruban "Données", un clic sur le bouton "Actualiser tout"...

Si le résultat convient?

11recupiag.xlsx (94.43 Ko)

Re-

Je viens de faire le test mais je pense que ma version excel 2019 n'est pas compatible...

Dès le changement des paramètres de confidentialité, j'ai un message d'erreur!

Je vais voir si un collègue peut faire tourner ta proposition pour valider!

Re-,

Quel message d'erreur?

Il n'y a "normalement" pas de pb entre ta version et la mienne. Tu es bien sous Windows?

Voilà le message qui apparait:

image

Puis je n'ai que 2 options pour les niveaux de confidentialité

image

Et quand j'actualise, j'ai un tableau vide!

:'(

Bon je suis un boulet car j'ai bien les mêmes options pour la confidentialité, il suffit d'ouvrir les yeux pour le voir...

Mais ça ne change rien!

Re-,

Ce message d'avertissement n'est qu'informatif, aucun impact pour la suite.

Pour la configuration, il faut sélectionner l'option "Confidentialité" du haut (sous Global)

As-tu bien rentré le répertoire dans la cellule A2? (attention, uniquement le répertoire, comme je l'avais mis dans l'exemple)

Pour être sûr du chemin, tu sélectionnes (sans l'ouvrir) un des fichiers commençant par "defauts-presses-iag", puis clic droit, "Propriétés", et tu copies le chemin :

image

Les fichiers commencent bien comme cela? sinon, s'il n'y a que ce type de fichier dans ce répertoire, on peut simplifier la sélection.

J'avais tout bon... Et je n'aime pas ne pas comprendre pourquoi ça ne fonctionne pas! :-)

Et sinon, j'ai un dossier avec uniquement ces fichiers oui.

Quand je vais dans l'éditeur Power Query, je vois bien la liste de mes fichiers excel en tout cas!

Ok,

Comme tu arrives à entrer dans l'éditeur, on va faire du pas-à-pas...

A droite, tu as les étapes, tu vas les sélectionner une par une, en partant de la Source, et tu me dis quand tu vois quelque chose d'incorrect :

Ici, à l'étape "FiltreNom", tu as bien tes fichiers?

image

OK!

Donc il y avait un problème de syntaxe dans le texte qui était cherché: "-" à la place de "_" dans mes fichiers.

Evidemment, je vais faire le tour des autres étapes du script pour corriger les autres occurrences.

Merci beaucoup, j'ai une très bonne base de travail. Avant cette inscription, j'en étais à: Mais comment ça marche???

Il ne reste plus que certaines identifications de presses qui ont un "P" devant le numéro de presse, d'autres non.

Je peux gérer salement mais il doit exister une solution Power Query pour ce genre de situation également...

Nickel,

Effectivement, quand on poste un fichier en upload sur ce site, les _ deviennent des - (dommage, @Sebastien, si tu lis ce post...)

Pour les autres étapes, je n'y fais plus référence.

Edit, ah ben si, l'étape juste après, pour déterminer la semaine, oups!!!

J'avais également ce P dans certains onglets (IAG1, il me semble), j'avais rectifié dans le fichier en lui-même.

Je regarde pour modifier dans le script

Je bidouille de mon coté pour voir si j'arrive à le faire seul et en parallèle, je vais corriger le fichier source pour supprimer ce "P" pour le futur!

Re-,

Un exemple, vite fait...

Je passe tout au format "Texte", puis je transforme la colonne "Presses", pour enlever le P

Le code M :

let
    Source = Folder.Files(Rep{0}),
    FiltreNom = Table.SelectRows(Source, each Text.StartsWith([Name], "defauts-presses-iag") and [Attributes][Hidden]=false),
    DeterSem = Table.TransformColumns(FiltreNom, {{"Name", each "S" & Text.BetweenDelimiters(_, "-", ".xl", {0, RelativePosition.FromEnd}, 0), type text}}),
    Convert = Table.TransformColumns(DeterSem, {{"Content", each Excel.Workbook(_,true)}})[[Name],[Content]],
    SelectIAG = Table.TransformColumns(Convert,{"Content", each Table.SelectRows(_, each Text.StartsWith([Name], "IAG"))}),
    Expand0 = Table.ExpandTableColumn(SelectIAG, "Content", {"Data"}, {"Data"}),
    Transform = Table.TransformColumns(Expand0,{"Data", each fnTransform(_)}),
    Expand = Table.ExpandTableColumn(Transform, "Data", {"Column1", "IAG", "Codes"}, {"Presses", "IAG", "Codes"}),
    Rename = Table.RenameColumns(Expand,{{"Name", "Semaine"}}),
    TypeText = Table.TransformColumnTypes(Rename,{{"Presses", type text}, {"Semaine", type text}, {"IAG", type text}, {"Codes", type text}}),
    AnnuleP = Table.TransformColumns(TypeText, {{"Presses", each Text.Remove(_,"P"), type text}})
in
    AnnuleP

Edit, n'oublie pas de modifier le - par un _

Parfait!

J'avais identifié le remplacer mais ça ne fonctionnait pas.

En ajoutant une étape qui transforme la colonne en texte, ça marche très bien!

Il me reste à analyser ça maintenant...

Encore merci

Rechercher des sujets similaires à "creer tcd partir fichiers meme structure"