Ajouter des tables bout à bout dans Excel : Power Query ou Power Pivot?

Publié le 26 mai 2021
par Sophie Marchand M.Sc.
Modèle de données

Vous êtes plusieurs à me demander comment faire pour fusionner des tables dans Excel ou plus spécifiquement pour ajouter des tables bout à bout (les unes à la suite des autres), de façon dynamique. Power Pivot permet de créer des relations entre les tables mais ne permet pas de les ajouter bout à bout, pour ensuite les analyser comme un seul élément. Cet article vous explique comment utiliser Power Query pour fusionner vos tables bout à bout et ensuite, les rendre disponibles dans Power Pivot, et les faire parler avec d’autres tables.

 

Cet article a originalement été publié en mai 2014 puis mis à jour en mai 2021.

 

Power Query pour fusionner des tables dans Excel, bout à bout

Supposons que vous ayez plusieurs filiales et que pour chacune des filiales, vous ayez une table de données représentant les transactions de vente. Dans votre modèle de données, dans Power Pivot, vous voudrez sans doute travailler avec une seule table de ventes consolidée, comprenant l’ensemble des transactions de vos filiales. Autrement dit, vous voudrez ajouter les tables, les unes à la suite des autres, pour ne former qu’une seule table de ventes. Pour ce faire, vous pourrez utiliser Power Query.

 

Tables de ventes initiales

En supposant donc que vous n’ayez que deux tables à fusionner, soit la table1 et la table 2 suivantes:

 

Table1
PowerQuery

Table2
PowerQuery

 

Fusionner des tables dans Excel, la recette gagnante

 

Fusion des tables bout à bout dans Power Query

Vous pouvez importer les deux tables dans Excel via Power Query (ou si vous préférez, via le menu “Obtenir les données”). À noter que vos deux tables pourraient posséder plus d’un million de lignes chacune. La volumétrie avec Power Query, ce n’est pas un problème! Une fois importées dans Power Query, vous devez ensuite ajouter les tables bout à bout, en utilisant l’option “Ajouter des requêtes” du menu “Combiner” et choisir les tables à fusionner.

Fusionner des tables

 

Vous avez des sources de données volumineuses à rassembler et analyser dans Excel ? Apprenez à automatiser tout le processus d’importation, de transformation et de modélisation  des données avec nos formations sur Power Query et Power Pivot dans Excel.

 

Chargement des données fusionnées dans Power Pivot

Vous devez ensuite vous assurer de charger les données des 3 requêtes (table1, table2 et ventes conso) avec “connexion seulement”. Ce faisant, vous ne chargerez pas les données dans une feuille Excel et n’alourdirez pas votre fichier pour rien. Elles vont demeurer en mémoire. C’est la raison pour laquelle vous ne serez pas freiné par la limite de 1 million de lignes dans Excel. Pour vous assurer que la table de ventes conso soit ensuite disponible dans Power Pivot, vous n’avez qu’à cocher la case “Ajouter au modèle de données”.

Modèle de données

 

Vous remarquerez que les tables 1 et 2 sont en connexion seulement et que la table ventes conso est chargée. Mais elle n’est pas chargée dans une feuille Excel. Elle est plutôt chargée dans le modèle de données, dans Power Pivot.

Power Query

 

Mise à jour de la table fusionnée depuis Power Pivot

Une fois l’opération terminée, vous pourrez voir un onglet avec une table consolidée de vos données dans Power Pivot. Et lorsque vous ajouterez des données dans vos Table1 et Table2, ces données s’ajouteront adéquatement à votre table fusionnée dans PowerPivot, tout simplement en cliquant sur le bouton d’actualisation. Vous pourrez ainsi utiliser cette table comme n’importe quelle autre table pour construire votre modèle de données dans Power Pivot et l’analyser ensuite avec un tableau croisé dynamique dans Excel.

Power Pivot

.

Formation complémentaire

Nous vous recommandons notre formation Excel – Introduction à Power Query et au langage M.

 

Voici quelques commentaires d’apprenants ayant suivi cette formation :

 

Voici quelques commentaires d’apprenants ayant suivi la formation - Excel Introduction à Power Query et au langage M

CFO-Masque_Formations-en-ligne_FBLa mission du CFO masqué est de développer les compétences techniques des analystes et des contrôleurs de gestion en informatique décisionnelle avec Excel et Power BI et favoriser l’atteinte de leur plein potentiel, en stimulant leur autonomie, leur curiosité, leur raisonnement logique, leur esprit critique et leur créativité.

7 réflexions sur “Ajouter des tables bout à bout dans Excel : Power Query ou Power Pivot?”

  1. Bonjour Madame Marchand,

    Je suit votre blog avec attention et vous remercie pour votre travail.

    Je tente actuellement de créer un modèle de données PowerPivot dans un contexte de production agroalimentaire. La majorité de mes données proviendraient d’une base oracle sur laquelle repose notre ERP et je souhaiterai les mettre à jour quotidiennement pour suivre mes chiffres au quotidien et piloter une démarche lean.
    Il me semble devoir mettre en place ce que vous décrivez dans cet article. Cependant, je n’arrive pas à comprendre comment éviter d’importer l’ensemble des données de la table oracle à chaque mise à jour? Autrement dit, PowerPivot fera-t’il systématiquement une analyse (synchronisation?) des contenus des tables sources et de destination pour n’importer que les données manquantes et les ajouter? Comment indiquer à PowerPivot l’intervalle de temps qu’il doit importer (dans le cadre de mouvements de stocks par exemple)? Sachant que la plupart du temps, seule les données de la veille seront à mettre à jour mais que parfois, plusieurs jours seront à mettre à jour? Et sachant également que je souhaite que mon modèle de données s’enrichisse au fur et à mesure pour garder les données passées et ma permettre des analyses sur des intervalles de temps plus grand que la journée.

    En vous remerciant par avance pour le temps que vous voudrez bien m’accorder.

    Bien cordialement

    Ludovic

    1. Bonjour Ludovic,

      Power Pivot n’est pas une base de données comme tel, où on peut conserver un historique, mais fonctionne plutôt en mode “refresh all”. Il est donc impossible de conserver des données historiques et d’importer seulement les données récentes.

      Par contre, vous n’avez pas non plus à importer tout l’historique de données. Vous pouvez sélectionner une période de temps (par exemple, les x derniers mois ou années ou les données après telle date, etc.). Ceci est possible, dans Power Query ou dans Power Pivot.

      Si cette dernière option vous intéresse et que vous ne savez pas comment procéder, laissez-moi savoir et je rédigerai un billet de blogue sur le sujet pour vous expliquer comment procéder.

      Au plaisir,

      Sophie

      1. Bonjour Sophie,

        Merci beaucoup pour cette réponse rapide et claire.

        Je suis effectivement intéressé par le billet que vous proposez car c’est tout à fait mon problème. Les bases de données provenant d’un ERP sont énormes avec plusieurs années d’historique. Je ne voudrais pas que mon fichier mette des heures à s’actualiser.

        Si il est possible de choisir un intervalle de temps, je pourrais alors créer plusieurs tableaux de bord pour les différents suivis quotidien, hebdo, mensuel et annuel, ou encore, offrir le choix à l’utilisateur avec du code VBA (ce serait la cerise sur le gâteaux, je vais d’abord m’occuper du gâteau!).

        Merci encore pour votre aide.

        Bien cordialement

        Ludovic

  2. Mohamed Ridh Jebnoun

    je voulais fusionner des tables dans power query sauf que les colonnes des tables ne sont pas normées cad les memes champs saufs que leurs dispositions ne sont pas identique d’une table à l’autre
    merci pour votre assistance

  3. Bonjour et merci beaucoup pour ce tutoriel qui m’a beaucoup aidé ! Cependant je rencontre un problème. Je dois ajouter deux tableaux de mêmes colonnes, ajouter le résultat au modèle de données, le relier à un troisième tableaux par une relation pour finalement insérer un TCD à partir de cette relation. Jusqu’ici pas de soucis. Cependant lorsque je modifie une cellule d’un de mes deux tableaux sources dans leurs onglets respectifs, cette modification n,’est pas prise en compte dans leurs requêtes et donc dans celle du tableau fusionné non plus. Y compris quand j’actualise le tout … Pourriez vous m’aider à y voir plus clair ?

    Bien cordialement

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Retour en haut