Comment consolider plusieurs classeurs Excel à l’aide de VBA
Lorsque vous traitez avec diverses ressources d’informations, vous pouvez souvent vous battre pour assembler plusieurs classeurs ainsi que des feuilles de calcul avant d’accéder à un dernier élément de données. Imaginez un scénario dans lequel vous avez quelques centaines de classeurs à intégrer avant de pouvoir également commencer votre journée.
Personne ne veut passer des heures illimitées à travailler sur différentes ressources, à ouvrir chaque classeur, à dupliquer et à coller les données de différentes feuilles, avant de créer finalement un classeur combiné. Supposons qu’une macro VBA puisse le faire pour vous ?
Avec cet aperçu, vous pouvez créer votre propre code de macro Excel VBA pour consolider plusieurs classeurs, en quelques minutes (si les documents d’information sont nombreux).
Pré-requis pour créer votre propre code de macro VBA
Vous avez besoin d’un classeur pour héberger le code VBA, tandis que le reste des classeurs de données source est différent. De plus, créez un classeur Consolidé pour enregistrer les informations combinées de tous vos classeurs.
Créer un dossier Consolidation à votre emplacement préféré pour enregistrer tous vos classeurs source. Lorsque la macro s’exécute, elle bascule entre chaque classeur enregistré dans ce dossier, duplique les composants de nombreuses feuilles et les place également dans le classeur consolidé.
Créer votre propre code Excel VBA
Une fois les pré-requis hors des moyens, il est temps d’explorer le code et de commencer à pirater les fondamentaux pour l’adapter à vos demandes.
appuyez sur la Alt+F11 astuce sur Excel pour ouvrir l’éditeur de code de macro VBA. Collez le code composé ci-dessous et enregistrez les données en tant que classeur autorisé par les macros ( . xlsm extension).
Le code VBA expliqué
La première partie du code définit une sous-routine, qui contient tout votre code VBA. Spécifiez le sous-programme avec sous , respecté par le nom du code. Le sous-nom peut être n’importe quoi ; de préférence, vous devez conserver un nom approprié au code que vous allez créer.
Excel VBA comprend les variables créées par l’utilisateur ainsi que leurs types de données correspondants indiqués avec faible (dimension).
Pour améliorer la vitesse de traitement de votre code, vous pouvez désactiver la mise à niveau de l’écran et réduire toutes les informations, car cela ralentit l’exécution du code.
L’utilisateur sera motivé pour le parcours du dossier où sont enregistrés les fichiers de données. Une boucle est produite pour ouvrir chaque classeur enregistré dans le dossier, dupliquer les informations de chaque feuille et les ajouter au fichier Consolidation classeur.
Le classeur de consolidation est déclenché afin qu’Excel VBA puisse déterminer la dernière ligne remplie. La dernière cellule de la feuille de calcul est sélectionnée et la dernière ligne est déterminée dans le classeur à l’aide de la fonction équilibrée. Ceci est très utile lorsque la macro commence à ajouter des informations à partir des données source.
Au fur et à mesure que la boucle ouvre le fichier source initial, les filtres sont supprimés de chaque feuille (s’ils existent), et les informations variant de A2 à AZ20000 seront certainement copiées et également collées directement dans le classeur de consolidation.
La procédure est dupliquée jusqu’à ce que toutes les feuilles de classeur soient ajoutées dans le classeur principal.
Enfin, les données source sont fermées lorsque toutes les données sont collées. Le classeur suivant est ouvert afin que la macro VBA puisse dupliquer exactement les mêmes étapes pour la collection de fichiers suivante.
La boucle est codée pour s’exécuter jusqu’à ce que tous les documents soient immédiatement mis à niveau dans le classeur principal.
Personnalisations basées sur l’utilisateur
Parfois, vous n’avez pas l’intention de vous soucier des déclencheurs intégrés, en particulier si vous êtes l’utilisateur final. Si vous préférez coder en dur le parcours du dossier Consolidation dans le code, vous pouvez modifier cette partie du code :
À:
De plus, vous pouvez également modifier les références de colonne, car l’action n’est pas incluse dans ce code. Remplacez simplement la référence de fin de colonne par votre dernière valeur de colonne habitée (AZ, dans ce cas). Vous devez garder à l’esprit que la dernière ligne habitée est calculée à l’aide du code macro, vous devez donc simplement modifier la recommandation de colonne.
Pour tirer le meilleur parti de cette macro, vous pouvez l’utiliser uniquement pour combiner des classeurs dans le même format. Si les frameworks sont divers, vous ne pouvez pas utiliser cette macro VBA.
Consolidation de plusieurs classeurs à l’aide de la macro Excel VBA
Créer et modifier un code Excel VBA est relativement très simple, en particulier si vous comprenez certaines des subtilités du code. VBA parcourt systématiquement chaque ligne de code et l’exécute également ligne par ligne.
Si vous apportez des modifications au code, vous devez vous assurer de ne pas endommager les codes, car cela perturberait l’exécution du code.