Cours Power Query, leçon 1: Récupérer les données d'un classeur externe
par
, 02/11/2021 à 09h13 (2410 Affichages)
Récupérer les données d'un autre classeur avec Power Query est très simple et évite le péché capital des formules interclasseurs
Salut.
Dans cette catégorie (https://www.developpez.net/forums/bl...categoryid=612), je crée des billets formatifs que je veux brefs et pratiques. Ils permettront une prise en mains en douceur du formidable outil qu'est Power Query. Nous apprendrons bien sûr à manipuler Power Query par l'interface, et donc la souris, mais nous irons régulièrement voir le script et le modifier pour donner encore plus de puissance et de souplesse aux solutions Power Query que nous mettons en place.
Leçon 1: Récupération des données d'un classeur externe
Un classeur Excel comme DB?
Ben oui, pourquoi pas, en fait. On pouvait déjà utiliser un classeur comme DB depuis longtemps grâce à MS Query, qui est l'ancêtre de Power Query, et il y avait moyen de faire vraiment des chouettes trucs. Puis Power Query est arrivé et a révolutionné l'approche, et la conception, de solutions EXCEL. Bien entendu, les données du classeur source seront idéalement stockées dans un tableau structuré (voir mon tuto: https://fauconnier.developpez.com/tu...ux-structures/), mais pourraient aussi être stockés dans des plages nommées, même si on réservera plutôt la plage nommée à une cellule.
Pour l'exemple, on dispose d'un classeur dans lequel on a saisi des données dans un tableau structuré t_Contacts:
Importer avec Power Query
Power Query est "caché" dans Excel. On le trouve dans le premier groupe de l'onglet Données qui regroupe les différentes possibilités d'importation de données ainsi que la gestion des requêtes y liées.
On s'aperçoit, à l'examen de ce menu, que les possibilités de liaison sont nombreuses: SQL, ACCESS, AZURE, CSV, JSON, XML, ...
Après sélection du fichier Excel servant de DB, on peut choisir d'importer une ou plusieurs tables en ayant la possibilité de visualiser une partie du contenu
A ce stade, deux choix s'offrent à nous:
- Importer les données dans la solution Power Query en vue de traiter les données avant leur arrivée dans Excel (Charger);
- Charger les données dans Excel en choisissant où et comment les importer (table de données, tableau croisé dynamique, ...).
Pour le présent billet, je choisis d'importer les données directement dans Excel et de les placer dans un tableau structuré:
Et voilà, les données sont importées ET liées à ma source, et il suffira d'un clic droit pour actualiser les données, c'est-à-dire se connecter à la source pour récupérer le nouveau jeu de données. On travaille ainsi en local sans les péripéties liées aux formules interclasseur, et on n'a pas besoin de travailler en VBA...
Conclusions
Comme on le voit, importer des données d'un classeur source dans son classeur de travail se fait en quelques clics grâce à Power Query. Dans des prochains billets, je vous montrerai quelques traitements que l'on réalise souvent sur les données avant leur exploitation dans Excel