Microsoft 365 POWER QUERY

LIZINM

XLDnaute Nouveau
Bonjour, je débute en Power Query et j'ai quelques questions :
J'ai par exemple deux fichiers qui se trouvent dans un folder Template : AAnnn-FORM-0002-Room List ( fichier dans lequel nous introduisons les données des locaux ) et le fichier AAnnn-DSL-0002-Rooms List ( Fichier avec les données de la FORM-0002 mais sortant vers le client ) Power Query fonctionne très bien, les données changent si Refresh.

J'ai différents folders ( 1 par projet ), dans chaque projet je retrouve ces deux fichiers mais avec des données différentes.
Pour le projet 1, j'ai donc : Projet 1-FORM-0002-Room List et Projet 1-DSL-0002-Rooms List
Pour le projet 2, j'ai donc : Projet 2-FORM-0002-Room List et Projet 2-DSL-0002-Rooms List
L'ensemble des fichiers ont exactement la même structure.

Et c'est là que cela se complique ( pour moi ) si je clique sur Refresh cela ne fonctionne pas, sauf si je recommence pour chaque projet toute la "procédure" de mise en page, suppression des Cln, etc.

Est-ce possible d'éviter cela en changeant le chemin d'accès ( Cela fonctionne très bien sans Power Query : DATA Edit link Change Source )
Merci d'avance de vos réponses.
Marc
 

chris

XLDnaute Barbatruc
Bonjour

Si j'ai bien compris : il faut
  • soit prévoir une ou 2 cellules nommées qui serviront de paramètres pour
    • le chemin d'accès
    • le nom du projet
  • soit prévoir un traitement de l'ensemble des classeurs du dossier et une seule cellule de paramètre pour le chemin du dossier
 

LIZINM

XLDnaute Nouveau
Re-Bonjour Chris, lors d'un précédent Msg tu m'avais effectivement conseillé Power Query, c'est vraiment super.
Dans un dossier : il y a +/- 20 fichiers qui sont liés d'une manière ou d'une autre ensemble, au minimum avec la Room List et même d'autres fichiers. Bien sûr l'intention est de copier en une seule fois l'ensemble des fichiers Template dans le folder de chaque projet et ensuite d'y travailler.
Après c'est la grande inconnue !!!!????
Suite à ton Msg je me demande si la solution 2 ne serait pas plus intéressante? En sachant que j'ai parfois plusieurs Queries dans un fichier ( 3 ou 4 parfois )

Sans vouloir abuser serais-tu m'expliquer ou me renvoyer vers un tuto.

Merci d'avance.

Marc
 

chris

XLDnaute Barbatruc
Re

La solution 2 est plutôt orientée vers des fichiers de même structure : on modélise sur 1 et cela s'applique à tous les fichiers du dossier.
On peut toujours affiner par exemple pour tous sauf 1 ou 2 qui seront eux combinés différemment

Dans tes explications tu ne dis pas très clairement comment ces fichiers s'articulent donc difficile de t'orienter avec certitude
 

LIZINM

XLDnaute Nouveau
Chris, voici un fichier simplifié expliquant les liens entre les fichiers;
1646051209793.png
Fichiers communs à plusieurs disciplines, c'est la base de la suite de calculs

1646051258622.png
Fichier pour ma discipline

1646051314471.png
Fichier vers le client avec page de garde, etc.

Le fichier FORM-0001 Base projet me permet de déclarer le client, le numéro de projet, le site du projet.
Pour l'instant en fonction d'un index j'utilise des Vlookup mais je modifie pour pouvoir utiliser Power Query

en espérant ainsi t'éclairé sur l'articulation des différents fichiers.

Merci

Marc
 

Pièces jointes

  • SUITE HVAC 00.00.pdf
    312 KB · Affichages: 2

LIZINM

XLDnaute Nouveau
RE
A priori, ce n'est pas une compilation de fichiers identiques

Il faudait vraiment joindre des fichiers exemples en précisant bien ce que tu veux et ce qui coince
Ok je prépare quelques fichiers afin que tu puisse te faire une idée.
A ce stade et suivant mes modestes connaissances en Power query, cela fonctionne très bien tant que je suis dans mon folder Templates. Par contre lorsque je déplace mes fichiers dans un folder Projet il ne trouve pas le bon chemin d'accès. Je prépare des fichiers neutres pour les incorporer dans mon prochain Msg.

Merci et bonne journée à toi.

Marc
 

LIZINM

XLDnaute Nouveau
Rebonjour chris,
Voici hélas 3 fichiers ZIP ( fichiers trop gros ). J'ai enlevé une série de folder qui n'était pas indispensable pour l'analyse du problème ( je pense mais il y aura des erreurs de Ref )
Dans le fichier Room List j'ai fait un Power Query qui va chercher des infos dans DATA HVAC et AHU List, cela fonctionne très bien. Les autres fichiers ont encore, en partie, des Vlookup. Je n'ai pas été plus loin pour l'instant au visu de l'échec de mon test de déplacer les fichiers dans un autre folder,
En espérant ainsi à nouveau éclaircir ta lanterne sur la structure de mes fichiers.
Les autres fichiers renseigné dans mon Msg précédent partent de ces fichiers ( Num et nom des locaux, phase du projet, numéro de la CTA ( AHU ), classification des locaux, etc ) Par contre j'effectue dans les fichiers d'autres calculs, en ayant insérer une colonne vide entre ceux-ci et le Power Query. Dans chaque fichier j'ai un folder de Synthèse et c'est TJRS à partir de celui-ci que je vais chercher les DATA pour les autres fichiers.

Encore une fois merci pour ta ou tes réponses.

Marc
 

Pièces jointes

  • Fichier FORUM Power query 3.zip
    674.2 KB · Affichages: 1
  • Fichier FORUM Power query 2.zip
    632.5 KB · Affichages: 1
  • Fichiers FORUM Power Query 1.zip
    532.5 KB · Affichages: 1

chris

XLDnaute Barbatruc
Bonjour

Pas mal d'anomalies dans tes fichiers :
  • Les tableaux structurés doivent respecter des règles, notamment :
    • pas de lignes vides
    • une et une seule ligne d'en-tête
  • Là tu as
    • une sorte de cartouche de 4 ou 5 lignes puis la répétition des en-têtes : le cartouche n'a pas à être intégré au tableau
    • tableau qui ne doit contenir que des lignes utiles et non moult lignes vides suivies d'un END of...
  • La requête Rooms LIST Synthesis ne doit pas utiliser la version du classeur enregistrée sur le disque mais le tableau du classeur puisqu'il est dans le même fichier que la requête.
    Ce qui résout déjà un de tes liens.
  • La requête New HVAC Rooms Synthesis ne doit pas utiliser l'onglet mais directement le tableau. L'étape Navigation doit être
    Source{[Item="New_HVAC_Rooms_Synthesis",Kind="Table"]}[Data]
    et non
    Source{[Item="Rooms LIST Synthesis",Kind="Sheet"]}[Data]
    Ce qui simplifie la suite des étapes surtout si tu respectes les règles des tableaux structurés comme énoncé ci-dessus
Pour le chemin des sources des requêtes
  • prévoir dans un onglet une cellule nommée Dossier alimentée pas formule :
    =INFORMATIONS("Repertoire")
  • Créer ensuite dans PowerQuery la requête Dossier contenant juste :
    = Excel.CurrentWorkbook(){[Name="Dossier"]}[Content][Column1]{0}
  • utiliser dans les requêtes à l'étape source ce type de syntaxe :
    Excel.Workbook(File.Contents(Dossier&"\AAnnn-04.00-FORM-0002-Rooms HVAC DATA.xlsx"), null, true)
  • Dans PowerQuery, Fichier, Options et paramètres, Options de requête, partie GLOBAL : Confidentialité, Toujours ignorer les paramètres de niveau de confidentialité pour éviter les erreurs que l'utilisation de Dossier dans la ligne Source peut générer.
    (A noter que cette option ne sert à rien dans la quasi totalité des cas et limite les possibilités, d'où son décochage).
Eviter les liaisons autres que celles de PowerQuery : tu as pas mal de plages nommées pointant sur d'autres fichiers. C'est peut-être ce que tu utilises pour tes VLOOKUP
 

LIZINM

XLDnaute Nouveau
Merci bcp pour ton temps Chris. Le problème de la ligne 1 à 3, elles sont imposées par le groupe pour insertion du logo, nom du fichier, date, révision, la ligne verte et une ligne vide. La ligne 4 = Nom de la colonne. Les lignes 5 à 9 permettent aux utilisateurs de voir de quel folder ou de quel fichier les data proviennent, cela permet aussi aux utilisateurs de savoir si menu déroulant ou pas.

Ne devrais-je pas mettre ces infos au-dessus de la ligne 4 afin d'éviter ces lignes "inutiles" ou parasites dans le Power Query ?

Bien sûr l'idée générale est d'utiliser au max Power Query et de supprimer l'ensemble des Vlookup, ainsi que l'appel aux plages nommées. La deuxième version des fichiers, avant que tu me fasse découvrir Power Query, utilise le nom des plages. Donc à terme, j'espère, cela ne sera plus nécessaire.

En effet les fichiers joints sont encore un mixte de solutions, avant de continuer j'ai fait la FORM-0002-Room List et son pendant LIS-0002-pour sortie vers le client ( avec page de garde, etc ) mais suivant la même présentation ligne 1 à 4.
 

chris

XLDnaute Barbatruc
RE

Tu peux conserver le cartouche mais il ne doit pas faire partir du tableau structuré : si on utilise les tableaux structurés selon les règles, on peut vraiment gagner du temps et des fonctionnalités.

Inversement on peut se retrouver avec des galères car les automatismes vont s'immiscer et perturber et pas seulement dans PowerQuery.
 

Discussions similaires

Réponses
2
Affichages
373
Réponses
13
Affichages
474

Statistiques des forums

Discussions
311 725
Messages
2 081 941
Membres
101 846
dernier inscrit
Silhabib