Pour éditer le catalogue de mon entreprise de manière automatique, j'utilise un fichier Excel qui se met à jour à l'aide de requêtes PowerQuery dont la source est un export de mon ERP, lui aussi sous format Excel et que j'appelle Base Article.
Ceci me permet de mettre à jour le catalogue en un clic après avoir téléchargé ma Base Article à jour.
Le catalogue comme la Base Article sont situés dans un dossier Dropbox que je partage avec mon associé.
Le seul bémol de ce système c'est que mon associé ne peut pas mettre à jour le Catalogue depuis son ordinateur bien qu'il ait accès lui aussi au répertoire Dropbox.
Est il possible, avec PowerQuery d'ajouter une variable pour que le chemin du fichier source change en fonction de l'ordinateur utilisé ?
J'ai essayé quelques recherches avec les mots clés Dropbox et Powerquery mais je n'ai trouvé aucune discussion évoquant cette problématique.
Je vous remercie d'avance pour votre aide.
Cordialement
Alexis
Bonjour,
Tu devrais pouvoir tester l'username ou le nom du PC en début de macro, et selon la réponse, affecter un chemin différent pour chercher le dossier.
Mais je pense qu'il serait plus simple d'avoir la même architecture de stockage des dossiers, afin que le chemin soit modifié le moins possible.
SI le dossier est stocké au même endroit que le fichier excel, tu devrais pouvoir utiliser thisworkbook.path qui renvoie l'adresse du classeur excel ouvert, il n'y a plus qu'a ajouter le nom du fichier cherché pour completer, quel que soit l'endroit du PC où c'est rangé.
Bonjour,
Merci de m'avoir mis sur la bonne piste, le problème est résolu !
Effectivement c'est beaucoup plus simple en mettant la Base Article et le Catalogue dans le même dossier.
Après cette étape, créé l’événement suivant pour renseigner le chemin du dossier dans une cellule nommée "root" :
Code:
Private Sub Workbook_Open()
Dim root As String
root = ActiveWorkbook.Path
Range("root").Value = root
'root is the named range used in power query.
End Sub
NB : Plutôt qu'utiliser du VBA il est aussi possible d'obtenir le chemin du fichier avec une formule
Je n'avais ensuite plus qu'à modifier ma requête powerquery comme ceci :