Excel - PowerQuery - Comment regrouper plusieurs tables en une seule
par
, 29/07/2021 à 09h08 (2372 Affichages)
Préambule
Question récurrente sur les forums Excel, regrouper plusieurs tables en une seule peut se faire de plusieurs manières
- Effectuer une suite de copier/coller
- Créer une fonction générique en VBA
- Utiliser PowerQuery
La première solution peut s'avérer chronophage
Pour la deuxième solution, j'ai écris deux contributions sur le sujet, la seconde étant une version allégée de la premièe
- Regrouper plusieurs feuilles sur une autre. (2003-2010)
- CopyRange - Copie de liste de données (source) dans une feuille cible
La troisième solution est le sujet de ce billet.
Scénario
Nous avons dans un classeur cinq feuilles contenant chacune une liste (table) structurée. Ces tables se nomme t_Art_A, t_Art_B, t_Art_D, t_Art_E comme illustré ci-dessous.
Attention : Pour cet exemple, toutes les tables doivent avoir le même nombre de colonnes et les étiquettes de même orthographe.
Les différentes étapes
Nous allons regrouper toutes ces tables dans un nouveau classeur
Etape 1 - Sélectionner le classeur
- Ouvrir un nouveau classeur[Données]
- Sélectionner l'onglet [Données]
- Déployer la liste de la commande Obtenir des données du groupe Récupérer et transformer des données
- Sélectionner A partir d'un fichier et cliquer sur A partir d'un classeur
- Sélectionner le classeur dans l'explorateur de fichier
Etape 2 - Sélection les tables à regrouper et chargement en mémoire
La boîte de dialogue, affiche les feuilles et les tables et nous allons opter pour toutes les tables
- Cocher Sélectionner plusieurs éléments
- Sélectionner toutes les tables à regrouper
- Cliquer sur la commande Charger dans ... de la liste déroulante Charger
Chargement en mémoire
Pour charger en mémoire, il y a lieu de cocher l'option Ne créer que la connexion et veiller à ce que l'option Ajouter ces données au modèle de données soit décochée comme illustré ci-dessous
On peut apercevoir le résultat dans le volet des Requêtes et Connexions à droite de la feuille Excel
Etape 3 - Regrouper les tables en une seule
Dans la liste déroulante de la commande Obtenir des données, sélectionner Combiner des requêtes et cliquer sur la commande Ajouter
Dans la boîte de dialogue Ajouter
- Cocher l'option Au moins trois tables
- Sélectionner toutes les tables
- Cliquer sur la commande Ajouter
- Confirmer
Etape 4 - Clôturer
Cliquer sur la commande Fermer et charger de la liste déroulante Fermer et charger de l'onglet [Accueil] de l'éditeur PowerQuery
Vue du résultat final
S'il y a par la suite des modifications quelconques dans l'une des quatre tables "source", il suffit de sélectionner une cellule de la table "cible", faire un clic droit et sélectionner la commande Actualiser dans le menu contextuel.
![]()