Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

Power Query Plusieurs chemins d'accès power query

Wilk642

XLDnaute Nouveau
Bonjour,

J'ai mis en place un fichiers Excel qui récupère des donnes d'un autre fichiers Excel via Power Query. Cependant je suis le seul à pouvoir actualiser les données car le chemin est propre à ma session. Tandis que j'ai deux autres collegues qui doivent l'utiliser aussi et ils doivent faire les actualisations des données.
Comment faire pour ajouter d'autres chemin d'accès pour le même fichier?
Notamment:
C:\Users\ZX5632\PC\Dream Team 2.0 - BD\Base des données.xlsx
C:\Users\MI3699\PC\Dream Team 2.0 - BD\Base des données.xlsx

en plus du mien

let
Source = Excel.Workbook(File.Contents("C:\Users\VN5624\PC\Dream Team 2.0 - BD\Base des données.xlsx"), null, true),
Tableau1_Table = Source{[Item="Tableau1",Kind="Table"]}[Data],
#"Type modifié" = Table.TransformColumnTypes(Tableau1_Table,{{"Date", type date}, {"Commande", type text}, {"Etat", type text}, {"Prix 1", type number}, {"Prix 2", type number}, {"Prix 3", type number}}),
#"Lignes filtrées" = Table.SelectRows(#"Type modifié", each ([Etat] = "Transmis"))
in
#"Lignes filtrées"
 

Hasco

XLDnaute Barbatruc
Repose en paix
Bonjour,

Vous pouvez nommer une cellule du classeur dans laquelle vous mettrez le chemin des données et dans la requête, récupérer ce chemin par :

Excel.CurrentWorkbook(){[Name="Chemin"]}[Content]{0}[Column1]
soit :
Source = Excel.Workbook(File.Contents( Excel.CurrentWorkbook(){[Name="Chemin"]}[Content]{0}[Column1]), null, true),

Soit ouvrir la requête dans l'éditeur avancé (menu affichage) et mettre manuellement avant la ligne Source :
Chemin= Excel.CurrentWorkbook(){[Name="Chemin"]}[Content]{0}[Column1], // ne pas oublier la virgule finale
Puis pour la source :
Source = Excel.CurrentWorkbook(Chemin), null, true),

Vous pouvez pour alimenter votre cellule Chemin, faire une liste de validation avec les chemins possibles.

Cordialement
 
Dernière édition:

Wilk642

XLDnaute Nouveau
Merci beaucoup pour votre réponse.

J’ai modifié ma requête directement sur l’éditeur avancé, exactement comme vous avez indiqué, mais power query m'indique une erreur sur "null" dans la ligne Source = Excel.Workbook(Chemin), null, true), .

Je vois pas ce se qui ne va pas.
 

Hasco

XLDnaute Barbatruc
Repose en paix
Bonjour,

Ben, vous ne nous donnez pas beaucoup de moyens de voir ce qui se passe.
Chez moi, comme chez d'autres cette méthode fonctionne.

Déjà, çà renvoie null, ce qui n'est pas ni une erreur ni rien,
Sans doute que PowerQuery a trouvé la cellule, sinon il y aurait une erreur.

Pour voir si c'est la bonne avec le bon chemin:
Ouvrez une requête vide (Nouvelle source/Autre sources/Requête vide)
Dans la barre de formule mettez :
= Excel.CurrentWorkbook(){[Name="Chemin"]}[Content]{0}[Column1]
Validez et vous verrez le résultat s'afficher dans l'éditeur.

Si vous avez null, c'est probablement que la cellule est vide ou que la cellule nommée Chemin n'est pas la bonne ou ......

Sinon c'est quelque chose que je ne peux deviner d'ici.



Cordialement
 
Dernière édition:

chris

XLDnaute Barbatruc
Bonjour

Un chemin ce n'est pas 3 chemins

Le chemin doit être modifié par chaque utilisateur, soit manuellement soit automatiquement car on doit pouvoir récupérer la partie ZX5632 ou autre par VBA
 

Hasco

XLDnaute Barbatruc
Repose en paix
Bonjour,

Il faut également distinguer Excel.Workbook et Excel.CurrentWorkbook. Le premier concernant le classeur source et le second le classeur qui contient la requête.

Chemin= Excel.CurrentWorkbook(){[Name="Chemin"]}[Content]{0}[Column1],
Source = Excel.Workbook(Chemin, null, true),

Voir dans le fichier joint comment est construit le chemin en fonction du choix de l'utilisateur dans une cellule avec liste de validation. Bien-sûr je n'ai pas testé l'aboutissement des requêtes, n'ayant pas accès à vos sources.

Dans le fichier V2 vous trouverez deux méthodes à partir de l'identifiant utilisateur et avec mise à jour par VBA

P.S. attention, je ne suis pas certain de l'anonymat des données que vous communiquez ! Eventuellement rééditez votre message du post #6 pour en modifier le fichier. (J'ai supprimé pour ma part les noms de responsables)

Cordialement
 

Pièces jointes

  • Devis query eqho.xlsx
    40.5 KB · Affichages: 18
  • Devis query eqho-v2.xlsx.xlsm
    36.6 KB · Affichages: 16
Dernière édition:

Wilk642

XLDnaute Nouveau
Merci beaucoup pour votre aide!

J'y penserais la prochaine fois pour supprimer encore plus d'informations dans les fichiers que je transfère, merci du conseil.

Cordialement
 

Alexis123456

XLDnaute Nouveau
Bonjour,

Avec votre fichier test, mais aussi avec mon fichier, j'ai cette même erreur qui ressort lorsque je regarde dans power query...
Comment faire ?
A noter (peut-être) que mon fichier sera un csv et non xlsx


Expression.Error : Désolé... Nous n'avons pas pu convertir la valeur "C:\Users\..." en type Binary.
Détails :
Value=C:\Users\MI7712\ENGIE\EQHO - Documents\General\GESTION\Suivi du P2 et P5\P5\Gestion P5 2021 EQHO.xlsx
Type=[Type]

Dans mon fichier personnel, il semble bien trouver la cellule nommée Chemin avec le texte à l'intérieur C:\Users\... mais il a pas l'air de vouloir le considérer comme un chemin d'accès.

Toujours sans passer par VBA svp
 

Cousinhub

XLDnaute Barbatruc
Inactif
Bonjour,
Et bienvenue sur Xld
Comme te l'a suggéré chris, tu aurais du créer ton propre fil
Je te conseille de lire la charte, afin de bien appréhender le fonctionnement du forum.
Puis, crée ton propre fil, avec ce que tu as (qui à priori ne fonctionne pas), et ce que tu voudrais
Bon courage
 

Discussions similaires

Réponses
16
Affichages
1 K
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…