Comment fusionner des fichiers Excel à l’aide d’une macro VBA

Excel VBA est un composant indispensable de l’automatisation d’Excel, et l’utilisation de VBA ainsi que ses avantages ne peuvent être affaiblis. Si vous êtes dans une bataille difficile en essayant de régler plusieurs feuilles ainsi que des classeurs dans Excel, nous sommes ci-dessous pour vous aider.

Les macros décrites dans ce guide vous aideront à réaliser la tâche apparemment écrasante en quelques secondes (ou minutes, si les propriétés des données sont volumineuses).

En suivant ce didacticiel, vous créerez votre propre macro VBA dans Excel et combinerez efficacement plusieurs feuilles en un seul fichier.

Fusion de plusieurs feuilles Excel en un seul fichier

Pour cette tâche, les informations sont enregistrées dans les feuilles suivantes :

  • Feuille1
  • Feuille2
  • Feuille3

Les noms de feuilles répertoriés ci-dessus sont uniquement à des fins d’image. Cette macro VBA est générique et ne dépend pas des noms de feuille ; vous pouvez personnaliser le code pour l’utiliser avec n’importe quel type de nom de feuille.

Pré-requis pour exécuter le code

Il existe certaines exigences pour exécuter le code VBA répertorié ici.

Vous devez enregistrer le code de la macro dans un tout nouveau fichier Excel. Enregistrez ce classeur avec un . xlsm extension. Vous pouvez conserver le classeur de macros VBA sous n’importe quel nom.

Ouvrez un tout nouveau fichier Excel ; presse Alt + F11 sur votre clavier pour ouvrir l’éditeur Excel VBA. Une fois l’éditeur ouvert, ajoutez un nouveau module de code en cliquant sur le bouton Insérer onglet en haut. Sélectionner Module mettre un nouveau composant; c’est là que vous obtiendrez le code de macro VBA fourni ci-dessous.

Voir aussi :  Manipulation de l'heure et de la date dans les applications Go

Interface de la fenêtre de l'éditeur Excel VBA

Les fiches d’information à consolider devraient rester dans un autre classeur entièrement. Le nom du classeur et des feuilles peut être celui que vous choisissez.

Dès que vous exécutez le code VBA, la macro VBA parcourra certainement chaque feuille de calcul facilement disponible dans le classeur clé (classeur d’informations) et collera les documents directement dans une nouvelle feuille incluse dans le même classeur.

Les informations combinées seront proposées dans la feuille intitulée Consolidé.

Exécuter le code VBA

Il est temps d’exécuter le code macro récemment conservé. Copiez-collez ce code dans le module de l’éditeur VBA :

Le code VBA expliqué

Tout d’abord, indiquez toutes les variables que vous utilisez dans le code et désignez-les également avec les types de données VBA appropriés pour que le code s’exécute de manière transparente.

Une fois que vous avez proclamé les variables, un nettoyage de base de la maison est nécessaire. Cela se fait en désactivant le scintillement de l’écran et en supprimant également les signaux contextuels. Par exemple, lorsque vous supprimez une feuille existante à l’aide du code VBA, un délai dans Excel demande une confirmation avant de supprimer la feuille. Les déclencheurs comme celui-ci sont réduits pour améliorer le taux de mise en œuvre.

Voir aussi :  Comment implémenter le mode sombre à l'aide de CSS et JS

Dans l’action suivante, vous devez définir le nom du classeur, qui comprend toutes vos données. Changer Test. xlsx avec le nom ainsi que l’expansion du nom de votre classeur. Assurez-vous que le nom est entouré de guillemets.

Interface de l'éditeur VBA

Activez le classeur principal et effacez également tout type de feuilles existantes portant le nom Consolidé pour se débarrasser de tout type de données anciennement conservées. Le code VBA bascule à travers chaque feuille, et aussi rapidement qu’il rencontre le nom de la feuille Consolidé ça va l’effacer. Cela se fait à l’aide de l’instruction VBA IF, qui vérifie les conditions rationnelles et supprime la feuille dès que la condition est remplie.

Une toute nouvelle feuille est incluse dans le classeur principal pour stocker les informations combinées. En fin de compte, des en-têtes standard préformatés sont ajoutés à cette feuille. Vous pouvez transformer les valeurs des titres (en-têtes de colonnes) en mettant à jour les informations à côté des références de cellules entre guillemets.

Par example: . Variété( » a1″)= »Date de commande » peut être modifié avec . Range( » a1″)= »NuméroCommande »

Interface de l'éditeur VBA

Ensuite, une boucle VBA FOR bascule avec chaque feuille de calcul, copie les matériaux de la feuille et colle les matériaux directement dans le Consolidé feuille de calcul avant de passer à la feuille suivante du classeur. Cette procédure se répète jusqu’à ce que toutes les feuilles soient copiées.

Voir aussi :  Qu'est-ce que Stylus CSS et comment l'utiliser ?

Au cours de cette procédure, toutes les lignes sont calculées automatiquement ainsi que collées dans la feuille consolidée. La dernière ligne habitée est calculée automatiquement avant que les données ne soient collées. La macro est dynamique et peut également s’adapter aux différentes lignes d’informations dans chaque feuille de calcul.

Une fois que les informations de toutes les feuilles sont collées directement dans la feuille de consolidation de prêt principale, la macro passe à la dernière partie du code. Les fonctions VBA initialement handicapées sont rendues possibles pour une utilisation future.

Interface de l'éditeur VBA

Consolidation de plusieurs feuilles à l’aide de la macro Excel VBA

Excel VBA est un langage d’affichage inutile, qui fonctionne bien avec toutes les parties d’Excel. Chaque morceau de code est crucial, et il est également très important de se rappeler que l’implémentation dépend d’un système d’implémentation ligne par ligne, vous ne devez donc pas érafler les lignes de code.

Pour personnaliser le code en fonction de vos besoins, vous pouvez effectuer les ajustements nécessaires et exécuter ce code pour consolider les données de manière efficace et efficiente en quelques secondes.

Cliquez pour évaluer cet article !
[Total: Moyenne : ]

Laisser un commentaire

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