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

XL 2016 Power Query modifier chemin du fichier par VBA

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

demonjohn

XLDnaute Nouveau
Bonjour à tous,

je suis en train de mettre en place un outil de gestion d'intervention qui fait appel à une base de donnée téléchargé mais j'ai un petit soucis avec le chemin du fichier dans Power query. (par soucis de protection des données je ne peux pas vous partager le fichier toutefois si c'est vraiment nécessaire j'utiliserai une base donnée factice).

En effet mon fichier excel pourra etre installé sur différents postes et la base donnée sera envoyé par mail donc le chemin de la source sera différent sur chaque postes.

La règle imposé aux utilisateurs est de placer la base de donnée dans le même répertoire que le fichier excel.

grace à la commande ThisWorkBook.Path, je suis capable de récupérer le chemin du fichier excel et je connais le nom de la base de donnée.

maintenant je souhaiterais créer une commande qui va modifier le chemin du fichier de power query dans le genre:

"chemin du fichier power query "= ThisWorkBook.path & "\base_de_donnée.csv"

merci d'avance pour votre contribution et bon courage à tous

Cordialement,
 
Bonjour

Pas besoin de VBA : tu peux récupérer le chemin dans une cellule nommée dont le contenu est utilisé par PQ comme variable pour le chemin
Formule dans la cellule
VB:
=GAUCHE(CELLULE("nomfichier");CHERCHE("[";CELLULE("nomfichier"))-1)
Nom de la cellule : Chemin
Placer en tête de la requête, entre let et Source
Code:
Dossier=Excel.CurrentWorkBook(){[Name="Chemin"]}[Content]{0},
et dans la ligne Source remplacer le chemin du fichier par Dossier &"base_de_donnée.csv"
 
bonjour merci pour la réponse rapide,
malheureusement cela ne marche pas toutefois je pense savoir pourquoi:
lorque je remplace le chemin du fichier par Dossier, la source devient une source web.content
que dois-je mettre à la place de web?

let
Dossier=Excel.CurrentWorkBook(){[Name="chemin"]}[Content]{0},
Source = Csv.Document(Web.Contents("Dossier"),[Delimiter=";", Columns=90, Encoding=1252, QuoteStyle=QuoteStyle.Csv]),

et il m'affiche une autre erreur :

Expression.Error : Le nom « Excel.CurrentWorkBook » n'a pas été reconnu. Veuillez vérifier qu'il est correctement orthographié.

merci d'avance

Cordialement,
 
Re

J'avais oublié [Column1]
VB:
    Dossier=Excel.CurrentWorkbook(){[Name="Chemin"]}[Content][Column1]{0},
    Source = Csv.Document(File.Contents(Dossier&"base_de_donnée.csv"),[Delimiter=";", Columns=16, Encoding=1252, QuoteStyle=QuoteStyle.None]),
 

Pièces jointes

Bonjour,

une fois de plus vous faites des merveilles, cela fonctionne parfaitement.

merci Enormément Chris et merci aussi à toi Roblochon

Autant j'arrive à me débrouiller sur VBA, autant le langage PQ je comprend pas 😱

A bientôt
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

  • Question Question
Microsoft 365 Power Query
Réponses
7
Affichages
264
  • Question Question
Microsoft 365 Power Query
Réponses
2
Affichages
211
  • Question Question
Microsoft 365 Power Query
Réponses
8
Affichages
245
  • Question Question
Power Query Power Query
Réponses
26
Affichages
603
Réponses
1
Affichages
114
Réponses
8
Affichages
486
Réponses
2
Affichages
524
  • Question Question
Réponses
16
Affichages
1 K
Réponses
7
Affichages
668
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…