Modification requêtes excel en VBA

Bonjour,

Avec du VBA, par le biais d’une boite de dialogue, j’aimerai savoir s’il est possible de modifier dans l’éditeur de requête la source de données dans le classeur actif.

Accessible dans l’onglet Données, l’option Requêtes et connexions, passage de la souris sur la requête à modifier, clic sur Modifier.
Ouverture de l’éditeur de requête, Clic sur Paramètres de la source de données, Changer la source, Parcourir.
C’est cette information que je désire changer par le biais d’une boite de dialogue.

Espérant avoir été clair dans mes explications.

Bonne soirée, cordialement.

Bonsoir,
Je suis surpris de ne pas avoir la moindre réponse, sujet trop nul ou question mal posée ?
Bien cordialement.

Hello
Difficile de t’aider sans fichier…
Pour reproduire en VBA une information que tu sais changer à la main, je commencerais par le faire avec l’enregistreur de macro, pour voir le code qui sort.
Tu peux ensuite potentiellement modifier le code pour que la valeur provienne d’une inputbox

Bonjour,

J’ai tenté l’enregistreur de macro, mais il n’enregistre rien, ni l’ouverture de power query, ni la modification du chemin de la requête ni le chargement de celle -ci une fois modifiée.

C’est la syntaxe de cette démarche et comment la mettre en œuvre que je recherche.

Ouverture de power query, changement du chemin de la requête et chargement de celle-ci dans la feuille excel existante,

J’ai cherché la sntaxe de ces instructions sur différents forum sans résultats.

Bonne journée.
Cordialement.

Bonsoir,

Je joins un documents dans lequel j’essaie d’expliquer ma démarche. Si quelqu’un à une réponse ou un début de solution je suis preneur
Modifier en VBA Chemin de fichier.pdf (113,6 Ko)
Bonne soirée.

Bonsoir,

Je vous fournis la réponse que m’a apporté 78chris du forum club des développeurs.

1°) Pourquoi ne pas prévoir une cellule contenant le chemin et une requête utilisant ce chemin, ce qui automatiserait sans VBA ?

2°) Je crée un tableau nommé Chemin d’une colonne titrée Chemin avec dans la cellule en dessous le chemin d’accès à la base comme
E:_Documents\Database1.accdb
puis dans l’éditeur de la requête je modifie Source : exemple pour la table CODEPOSTAUX

Code :
Source = Access.Database(File.Contents(Text.From(List.First(Table.Column(Excel.CurrentWorkbook()
{[Name=“Chemin”]}[Content], “Chemin”)))), [CreateNavigationProperties=true]),

_CODESPOSTAUX = Source{[Schema="",Item=“CODESPOSTAUX”]}[Data]

Je l’ai testé, cela correspond à ce que je recherchais, si cela peut aider quelqu’un d’autre.

Bonne soirée.

1 J'aime