Étiquette : Fusionner

Comment fusionner plusieurs fichiers Excel en un seul ?

Comment fusionner plusieurs fichiers Excel en un seul ?

Il est fréquent de se retrouver avec le besoin de fusionner plusieurs fichiers Excel en un seul. Par exemple, vous avez préparé un fichier modèle contenant un tableau. Puis, ce fichier est transmis à plusieurs personnes afin de collecter leurs données. Lorsque vous récupérez ces fichiers, vous allez devoir les fusionner en un seul sur Excel.

Malheureusement, vous songez sérieusement à fusionner les fichiers Excel manuellement à l’aide de nombreux copier-coller. Heureusement pour vous, vous avez fait une recherche sur Internet et avez trouvé cette page qui vous fera gagner de précieuses heures de manipulation.

Vous avez peut-être un autre objectif que fusionner plusieurs classeurs Excel en un ? Vous trouverez probablement l’objectif recherché dans le paragraphe suivant.

Déterminez votre objectif de fusion de fichiers Excel

En effet, fusionner plusieurs fichiers Excel peut viser trois objectifs très différents. Et en fonction de celui-ci, les moyens de l’atteindre ne seront pas les mêmes.

Les mots ont toute leur importance. Et pour bien parler de la même chose, je vous propose un récapitulatif des termes Excel :

  • Une feuille Excel correspond à ce que l’on nomme également les onglets.
  • Le classeur représente la totalité du fichier Excel.

Les différentes objectifs de fusion peuvent ainsi être :

  1. Cas n°1 : Fusionner les feuilles de plusieurs classeurs Excel dans un seul classeur.
    L’objectif ici est d’avoir toutes les feuilles de plusieurs classeurs réunies dans un seul classeur.
  2. Cas n°2 : Fusionner les feuilles d’un même classeur dans une seule feuille.
    L’objectif est de n’avoir qu’un seul tableau de valeurs pour les analyser, à la place d’un tableau disposant d’une structure identique mais dont les données sont réparties sur plusieurs feuilles.
  3. Cas n°3 : Fusionner une feuille en particulier de plusieurs fichiers dans une seule feuille.
    L’objectif ici est de regrouper toutes les valeurs au sein d’un même tableau. Il y a une certaine analogie avec le cas n°2, mais au lieu de se trouver dans des feuilles différentes, les données sont dans des classeurs différents. Il faudra évidemment que les données soient dans un tableau disposant de la même structure (même nombre de colonnes et mêmes noms de colonnes).

Dans ces deux cas, des questions essentielles sont à se poser pour définir la meilleure approche :

  • Est-ce une action ponctuelle ou à faire régulièrement (et à quelle fréquence) ?
  • Vais-je devoir intégrer des mises à jour de fichiers Excel déjà fusionnés ? Exceptionnellement ou régulièrement ?

Cas n°1 : Consolider les feuilles de plusieurs fichiers en un seul classeur Excel

Voici un exemple avec deux fichiers. Le premier fichier contient les données du 1er trimestre :

Fusionner plusieurs fichiers en un - Zoom 1er Trimestre
Fusionner plusieurs fichiers en un – Zoom 1er Trimestre

Puis un second avec les données du 2nd trimestre :

Fusionner plusieurs fichiers en un - Zoom 2nd Trimestre
Fusionner plusieurs fichiers en un – Zoom 2nd Trimestre

Votre objectif est d’avoir toutes ces feuilles dans le même classeur.

Étape n°0 : Décidez de votre destination

Avant de commencer une quelconque opération, vous devez déterminer où vous souhaitez retrouver le résultat de la fusion de vos fichiers Excel. Est-ce dans l’un des fichiers que vous souhaitez consolider les autres ou bien dans un classeur à part ?

Ensuite, vous devez en premier lieu ouvrir votre fichier cible puis les fichiers à fusionner les uns après les autres. Prenez le premier d’entre eux, puis continuez avec les étapes suivantes.

Étape n°1 : Sélectionnez vos feuilles à fusionner

Pour déplacer les feuilles d’un classeur Excel vers un autre classeur (et ainsi fusionner vos deux fichiers Excel) il faut cliquer sur les différentes feuilles en maintenant la touche Ctrl pressée.

Vous verrez que les feuilles sont bien sélectionnées car les noms des feuilles sont en gras et toutes sur fond blanc comme ceci :

Cas 1 - Sélection des feuilles à fusionner
Cas 1 – Sélection des feuilles à fusionner

Étape n°2 : Sélectionnez “Déplacer ou copier…”

Vous pouvez maintenant relâcher la touche Ctrl puis opérer un clic droit sur n’importe quelle feuille sélectionnée :

Cas 1 - Clic droit puis Déplacer ou copier
Cas 1 – Clic droit puis Déplacer ou copier

Si vous vous rendez compte que vous avez sélectionné une feuille de trop, pressez à nouveau sur la touche Ctrl puis cliquez sur la feuille que vous souhaitez retirer. Le fond redeviendra gris.

Étape n°3 : Sélectionnez le classeur Excel cible de la fusion

La fenêtre suivante s’affiche alors et vous permet de déterminer le classeur cible.

Cas 1 - Sélection classeur Excel cible pour la fusion
Cas 1 – Sélection classeur Excel cible pour la fusion

En cliquant sur le menu déroulant, vous verrez apparaître la liste des classeurs ouverts. Vous aurez également une option supplémentaire “(nouveau classeur)”. Comme son nom l’indique, cette option permet de déplacer (ou copier) toutes les feuilles sélectionnées vers un nouveau classeur Excel.

Cas 1 - Liste des classeurs disponibles pour la fusion
Cas 1 – Liste des classeurs disponibles pour la fusion

Dans mon exemple, j’ai choisi de fusionner mes données dans le classeur Excel “1er Trimestre.xlsx”. Comme la capture d’écran le présente, vous pouvez à cet instant viser un nouveau classeur. Dans ce cas, cochez la case “Créer une copie” de l’écran suivant.

Déterminez l’emplacement de vos feuilles dans le nouveau classeur. Veillez à bien noter les intitulés que je vous ai mis en valeur sur la capture suivante.

Vous aurez à sélectionner où vous souhaitez placer vos feuilles importées dans le classeur Excel cible.

Cas 1 - Sélection de l'emplacement des feuilles pour la fusion
Cas 1 – Sélection de l’emplacement des feuilles pour la fusion

Notez que si vous ne cochez pas la case “Créer une copie”, les feuilles seront bien déplacées d’un classeur à l’autre.

Dès que vous aurez cliqué sur “OK”, vous aurez terminé la fusion de vos deux fichiers Excel.

Cas 1 - Feuilles Excel fusionnées
Cas 1 – Feuilles Excel fusionnées

Et si j’ai de nombreux fichiers Excel à fusionner ?

Je vous l’ai déjà écrit, je ne suis pas pour l’utilisation des macros à tout va dans Excel ou n’importe quel outil de la suite Microsoft 365 (nouveau nom de la suite Office depuis avril 2020). Mais là, je dois reconnaître qu’il sera nécessaire de mettre en place une macro pour automatiser la fusion des feuilles de plusieurs classeurs Excel vers un unique classeur.

Je mettrai à jour cette section dans les prochaines semaines afin d’y intégrer le code VBA qui vous offrira cette fonctionnalité.

Cas n°2 : Consolider les feuilles d’un même classeur dans une seule feuille

Vous avez plusieurs manières de résoudre ce cas de figure. La première sera sans code. Ce sera toujours ma préférence personnelle.

Particularité : vous devrez utiliser un nouveau classeur comme point de départ. Vous devez même quitter le classeur où se trouvent les feuilles à fusionner.

Étape n°0 : Bienvenue dans le monde de PowerQuery

Si vous aimez Excel, vous allez adorer PowerQuery (avant de devenir passionné de PowerBI…). Cet outil est venu enrichir les fonctionnalités d’Excel depuis la version 2010.

Avant cette version d’Excel, PowerQuery n’était pas intégré dans l’installation initiale d’Excel, vous deviez aller télécharger le composant sur le site de Microsoft.

Depuis Excel 2016, PowerQuery fait partie intégrante d’Excel. Cette plateforme offre la possibilité d’automatiser de nombreuses manipulations sur les données. Les informaticiens appellent cela un ETL : Extract Transform Load. C’est un outil qui va automatiser des instructions sans écrire de code.

Je le rappelle à qui veut l’entendre, le code (= les macros ou le VBA pour les intimes) peut aussi être utilisé pour écrire des virus informatiques. Les entreprises vont de plus en plus empêcher l’envoi et la réception des fichiers en contenant.

PowerQuery apporte une très belle réponse à de nombreuses opérations qu’il fallait programmer auparavant. Je vous propose d’en découvrir l’une d’entre elles maintenant (si vous allez jusqu’au bout de l’article, vous verrez un deuxième usage de PowerQuery).

Étape n°1 : Déterminer votre source de données

Nous partons donc d’un classeur tout neuf, sans les données. C’est à partir de celui-ci que vous vous rendrez dans l’onglet “Données” puis “Obtenir des données”. En sélectionnant “À partir d’un fichier” puis “À partir d’un classeur”, vous pointerez vers le fichier Excel où se trouvent les feuilles à fusionner.

Cas 2 - Déterminer le fichier source de la fusion des feuilles
Cas 2 – Déterminer le fichier source de la fusion des feuilles

Étape n°2 : Sélectionner les feuilles Excel à agréger

Lorsque vous avez sélectionné votre fichier Excel qui contient les feuilles à fusionner, vous vous retrouvez avec cet écran :

Cas 2 - Sélectionner les feuilles à fusionner
Cas 2 – Sélectionner les feuilles à fusionner

Veillez à bien cocher la case “Sélectionner plusieurs éléments” afin que les cases à cocher apparaissent en 2. Vous pouvez alors sélectionner les feuilles de votre choix (ici toutes) qui seront ensuite fusionnées.

ATTENTION : En 3, je vous invite à bien sélectionner “Charger dans…” et non “Charger” car nous n’avons pas besoin de ces données maintenant. C’est lorsque nous aurons terminées les manœuvres de fusion que vous pourrez les charger !

Lorsque vous aurez cliqué sur “Charger dans…”, la fenêtre suivante s’affichera et vous devrez sélectionner : “Ne créer que la connexion” :

Cas 2 - Charger dans... - Ne créer que la connexion
Cas 2 – Charger dans… – Ne créer que la connexion

Étape n°3 : Fusionner les feuilles Excel se nomme “Ajouter”…

A ce stade, vous avez créé une connexion vers un classeur Excel. Ensuite, vous avez créé des tables basées sur les différentes feuilles qui le compose. Maintenant, il ne reste que le dernier mouvement : Fusionner vos feuilles. Hélas, la traduction française de cette fonction est “Ajouter” :

Cas 2 - Ajouter des requêtes et non fusionner !
Cas 2 – Ajouter des requêtes et non fusionner !

L’option “Fusionner” permet de connecter deux tables à l’aide d’une référence commune. Ainsi, si vous disposez d’une table avec des commandes avec des références de produits et une autre table avec le détail des produits, vous pourrez avoir les commandes avec le détail des produits en fusionnant ces deux tables (basées sur la référence produit).

Lorsque vous sélectionnez l’option “Ajouter”, vous aurez alors à sélectionner les requêtes à mutualiser.

Cas 2 - Sélection des feuilles à 'Ajouter'
Cas 2 – Sélection des feuilles à ‘Ajouter’

En premier lieu, sélectionnez “Au moins trois tables” puis sélectionnez les tables disponibles. Cliquez sur “Ajouter” puis “Ok”.

Étape n°4 : Finaliser la mutualisation des données

La fenêtre suivante apparaît alors :

Cas 2 - Finaliser la fusion des données des différentes feuilles Excel
Cas 2 – Finaliser la fusion des données des différentes feuilles Excel

Vous pourrez changer le nom par défaut “Ajouter1” en un nom qui correspond mieux à la situation. En l’occurrence, je vous propose “Mutualisation”.

Il ne vous reste alors qu’à presser sur “Fermer et charger”.

Cas 2 - Etat final - Données Excel Mutualisées
Cas 2 – État final – Données Excel Mutualisées

Étape n°5 : Bilan de la situation

A ce stade, vous disposez d’un nouveau classeur. Celui-ci est connecté à votre fichier Excel où se trouvent les feuilles à fusionner. Quels sont les avantages et inconvénients de la situation ?

Avantages

Si votre fichier source est mis à jour, vous pourrez venir sur celui-ci et simplement “Actualiser les données” pour que la fusion opère à nouveau !

Alors, pas n’importe quel type de mise à jour.. Si les données des feuilles existantes sont modifiées, pas de problèmes (ajout, suppression ou modification).

Si de nouvelles feuilles sont ajoutées, vous pourrez adapter les requêtes et compléter la fusion des feuilles. Je ne le développerai pas ici, car ce serait rentrer dans trop de détails sur PowerQuery. Mais c’est possible !

Lorsque vous aurez goûté à la puissance de PowerQuery, vous aurez envie d’aller plus loin dans les transformations et l’analyse des données brutes. À travers ce cas d’utilisation, vous entrez dans ce monde par la petite porte.

Inconvénients

Comme votre fichier contenant les données fusionnées est lié à un autre fichier, celui contenant les données de départ ne doit pas être déplacé. Si cela arrivait, pas de panique, il y a quelques paramètres à modifier et la connexion peut être retrouvée. Idem, je ne développerai pas ce point dans le présent article pour ne pas rentrer dans les détails de PowerQuery.

Vous disposez d’un classeur connecté. Le deuxième corolaire de la situation est que vous ne pouvez pas modifier la structure de ce tableau (ajouter des colonnes, en retirer). Heureusement, vous pouvez toujours réaliser un bon vieux “Copier-Coller” pour récupérer les données fusionnées libérées de toute contrainte.

Cas n°3 : Fusionner une feuille en particulier de plusieurs fichiers Excel dans une seule feuille

La situation est la suivante : vous devez collecter des données provenant de plusieurs personnes. Chacune d’entre elles dispose d’un tableau modèle à compléter et vous envoie les données dès que possible.

Vous allez en plus devoir faire face aux enjeux suivants :

  • Vous n’allez pas recevoir toutes les données en même temps et devrez consolider les données reçues au fur et à mesure
  • Certains pourraient vous envoyer des données incomplètes puis des mises à jour
  • Vous aurez peut-être à consolider des données par région / pays ou un autre critère

Comme annoncé plus haut, PowerQuery va être votre meilleur allié.

Étape n°1 : Préparer les noms des fichiers Excel à fusionner

Le nom des fichiers que vous aurez collectés va être essentiel pour la fusion à venir. Grâce à PowerQuery, vous pourrez collecter cette information et identifier l’origine des données, même lorsqu’elles seront fusionnées.

Cas 3 - Préparez les noms de fichiers à fusionner
Cas 3 – Préparez les noms de fichiers à fusionner

Comme vous pouvez le voir sur la capture ci-dessus, j’ai nommé les fichiers par pays et de manière bien structurée.

Étape n°2 : Créer un nouveau classeur pour y fusionner les données des différentes fichiers Excel

Depuis le menu “Données”, vous sélectionnez “Obtenir des données” puis “À partir d’un fichier” et enfin “À partir d’un dossier” :

Cas 3 - Obtenir des données à partir d'un dossier
Cas 3 – Obtenir des données à partir d’un dossier

Excel (via PowerQuery) est capable d’aller récupérer l’ensemble des fichiers d’un dossier en particulier et les traiter.

Cas 3 - Sélection du dossier source des fichiers Excel à fusionner
Cas 3 – Sélection du dossier source des fichiers Excel à fusionner

Étape n°3 : Importer uniquement les fichiers Excel que vous souhaitez fusionner

Après avoir sélectionné le dossier où se trouvent vos fichiers Excel, l’écran suivant s’affiche :

Cas 3 - Filtrer la liste pour sélectionner les fichiers Excel à fusionner
Cas 3 – Filtrer la liste pour sélectionner les fichiers Excel à fusionner

À ce moment (où à un autre), vous vous rendrez compte que d’autres fichiers sont présents dans votre dossier sélectionné (en 1). Dans ce cas, vous aurez à passer par la case “Transformer les données”.

Vous vous trouverez dans une vue similaire à celle-ci. Un peu comme au sein d’Excel, vous aurez la possibilité de filtrer cette liste. Ce que fera PowerQuery, c’est enregistrer la liste des étapes suivies pour les reproduire automatiquement par la suite.

Cas 3 - Filtrer la liste pour sélectionner les fichiers Excel à fusionner - Suite
Cas 3 – Filtrer la liste pour sélectionner les fichiers Excel à fusionner – Suite

En cliquant sur le bouton de filtre, vous retrouverez l’interface familière suivante :

Cas 3 - Filtrer la liste pour sélectionner les fichiers Excel à fusionner - Suite 2
Cas 3 – Filtrer la liste pour sélectionner les fichiers Excel à fusionner – Suite 2

Dans mon cas, je ne souhaite fusionner que les fichiers commençant par “Financial Sample_”. Le caractère “_” est important ici, car je ne souhaite pas y intégrer l’un de mes fichiers (Financial Sample – Tout.xlsx).

Cas 3 - Filtrer la liste pour sélectionner les fichiers Excel à fusionner - Suite 3
Cas 3 – Filtrer la liste pour sélectionner les fichiers Excel à fusionner – Suite 3

Étape n°4 : Combiner vos fichiers pour fusionner les données des fichiers Excel sélectionnés

PowerQuery vous montre désormais la bonne liste de fichiers à importer. Il ne reste qu’à cliquer sur le bouton destiné à fusionner toutes les données contenues dans les fichiers.

Cas 3 - Combiner les fichiers

Cas 3 – Combiner les fichiers

PowerQuery va alors vous présenter le premier des fichiers qu’il prendra comme exemple.

  1. Vous pouvez éventuellement sélectionner un autre fichier pour le prendre en exemple.
  2. Vous déterminez l’objet à importer. Ici, PowerQuery a détecté la présence d’un tableau. Mais si vous le souhaitez, vous pouvez importer la totalité de la feuille.
  3. Ici, cette option va éviter le blocage de PowerQuery en cas d’erreur. D’un côté, c’est une option utile car elle évite les erreurs. D’un autre côté, si vous avez des erreurs dans certains fichiers, vous ne le saurez pas et risquez de penser que tout a été importé… A vous de peser le pour et le contre de cette option.
Cas 3 - Déterminer le contenu à fusionner
Cas 3 – Déterminer le contenu à fusionner

Étape n°5 : Importer les données fusionnées dans Excel

Lorsque vous aurez cliqué sur “OK”, PowerQuery opérera plusieurs opérations automatiquement.

Sur la droite (1), vous trouverez la liste des instructions qui seront suivies à chaque rafraîchissement des données. À ce stade, vous n’avez rien d’autre à faire qu’à “Enregistrer et charger” (2) pour finaliser l’import dans Excel.

Cas 3 - Prêt à charger les données fusionnées des fichiers Excel
Cas 3 – Prêt à charger les données fusionnées des fichiers Excel

Étape n°6 : Bilan de la situation

Vous venez de mettre en place une chaîne automatique d’import des données depuis un dossier. Dans Excel, vous n’aurez qu’à rafraîchir votre tableau pour que la magie opère automatiquement.

Cas 3 - Actualiser les données importées depuis les fichiers
Cas 3 – Actualiser les données importées depuis les fichiers

Lorsque vous cliquerez sur “Actualiser”, Excel ira chercher les fichiers dans le dossier configuré, fera le filtre des fichiers à sélectionner (si vous avez bien suivi ce tuto !) et fusionnera les données de tous les fichiers Excel.

  • Toutes les données seront actualisées. Si un des fichiers a été mis à jour, ce sera pris en compte.
  • Tous les nouveaux fichiers seront inclus. Si un ou plusieurs fichiers ont été ajoutés (ou supprimés), le tableau final n’aura que l’agrégation des données présentes au moment de l’actualisation.

Excel pourra ainsi fusionner des dizaines de classeurs présents dans le dossier en un seul clic.

Comme dans le cas précédent, si votre dossier est déplacé ou que celui qui ouvre le fichier Excel n’a pas les droits d’accès, vous ne pourrez pas actualiser les données. Vous devrez faire un copier-coller (juste les valeurs) dans un fichier séparé pour pouvoir transmettre ces données agrégées à des personnes n’ayant pas accès au dossier source.

Dernière étape

Avez-vous d’autres cas de figure auxquels je n’aurai pas pensé ? Est-ce que ce que je viens d’écrire soulève de nouvelles questions ?

Avez-vous apprécié ce que vous venez de lire ? J’aimerais bien le savoir en vous lisant à mon tour, via les réseaux sociaux ou les commentaires ci-dessous.

J’attends de vos nouvelles ! A bientôt !