KutoolsforOffice — Une solution unique, cinq outils puissants.Faire plus avec moins d'efforts.Soldes de mars : 20 % de réduction

Comment exécuter une macro simultanément sur plusieurs classeurs ?

AuteurXiaoyang Date de modification

Le traitement de plusieurs classeurs Excel exige souvent de répéter la même opération ou tâche automatisée sur de nombreux fichiers. Ouvrir chaque classeur un par un pour exécuter une macro prend non seulement beaucoup de temps, mais accroît également le risque d’erreur, surtout lorsqu’un grand nombre de fichiers est concerné. Automatiser ce processus devient donc essentiel pour gagner en productivité et en précision.

Grâce à VBA (Visual Basic for Applications), optimisez votre flux de travail en exécutant automatiquement une macro sur chaque classeur d’un dossier donné — un gain de temps précieux et une garantie de cohérence. Ce guide vous explique comment configurer et utiliser une solution VBA pour appliquer votre macro à plusieurs fichiers, sans les ouvrir manuellement.

Voici quelques scénarios typiques où cette approche est utile :

  • Appliquer une mise en forme ou des calculs à un ensemble de rapports mensuels
  • Standardiser les étapes de nettoyage des données sur un ensemble d’exports
  • Mettre à jour par lots des modèles ou ajouter des structures à des fichiers anciens
Cette méthode de traitement par lots est particulièrement adaptée aux utilisateurs qui gèrent des tâches Excel répétitives dans des environnements professionnels, éducatifs ou de recherche.

Exécuter la même macro sur plusieurs classeurs grâce à un code VBA

Pour exécuter efficacement la même macro sur plusieurs classeurs sans les ouvrir manuellement, utilisez un script VBA conçu pour les opérations par lots : il vous suffit de sélectionner un dossier, et chaque fichier Excel qu’il contient sera traité automatiquement. Idéal pour la plupart des tâches courantes d’automatisation par macro.

Avant de commencer :

  • Tous les classeurs cibles sont fermés. Le script les ouvrira et les traitera automatiquement selon vos besoins.
  • La macro que vous souhaitez exécuter ne doit nécessiter aucune interaction utilisateur (comme des boîtes de dialogue ou des invites de saisie), car ces éléments interrompraient le traitement par lots.
  • Vous avez enregistré votre travail, car le traitement par lots de macros ne peut pas être facilement annulé et risque d’écraser des données si le code n’est pas soigneusement conçu.

Suivez ces étapes pour appliquer une macro à plusieurs classeurs :

1. Appuyez sur les touches « ALT + F11 » pour ouvrir la fenêtre « Microsoft Visual Basic pour Applications ».

2. Dans l’éditeur VBA ouvert, cliquez sur «Insertion» > «Module» pour créer un nouveau module, puis collez la macro fournie dans la fenêtre vide du module.

Code VBA : exécuter la même macro simultanément sur plusieurs classeurs :

Sub LoopThroughFiles()
    Dim xFd As FileDialog
    Dim xFdItem As Variant
    Dim xFileName As String
    Set xFd = Application.FileDialog(msoFileDialogFolderPicker)
    If xFd.Show = -1 Then
        xFdItem = xFd.SelectedItems(1) & Application.PathSeparator
        xFileName = Dir(xFdItem & "*.xls*")
        Do While xFileName <> ""
            With Workbooks.Open(xFdItem & xFileName)
                'your code here
            End With
            xFileName = Dir
        Loop
    End If
End Sub

Remarques et conseils importants :

  • Dans le code ci-dessus, repérez la ligne With Workbooks.Open(xFdItem & xFileName). Copiez-y le code de votre macro souhaitée (en excluant ses propres lignes)Sub et End Sub) entre cette ligne et End With. Ainsi, l’opération s’exécutera automatiquement dans chaque classeur ouvert.
  • Vérifiez attentivement la logique de votre macro ainsi que les chemins utilisés afin de garantir un traitement par lots correct, et envisagez de tester d’abord sur un petit ensemble de fichiers si votre macro modifie des données.

Voir la capture d’écran illustrant l’emplacement où coller la logique de votre macro :

Capture d’écran montrant le code VBA permettant d’exécuter une macro sur plusieurs classeurs dans Excel

3. Appuyez sur la touche « F5 » dans l’éditeur VBA pour exécuter le script ; une boîte de dialogue de sélection de dossier s’affichera aussitôt.

4. Dans la fenêtre « Parcourir », sélectionnez le dossier contenant tous les classeurs à traiter. Le script analysera chaque fichier Excel présent à cet emplacement et appliquera la logique de votre macro.

Capture d’écran de la boîte de dialogue de sélection de dossier pour exécuter une macro sur plusieurs classeurs

5. Cliquez sur « OK » pour lancer l’opération par lots. La macro que vous avez ajoutée sera exécutée sur tous les classeurs ciblés du dossier sélectionné. Les traitements plus volumineux peuvent prendre davantage de temps, selon la complexité de votre macro et le nombre de fichiers concernés.

  • Sécurité des macros : Si une invite s’affiche, activez les macros ou exécutez-les depuis un emplacement approuvé.
  • Cible Type de fichier : Le modèle *.xls* inclut .xlsx, .xlsm et .xlsb. Ajustez-le si nécessaire.
  • Qualification complète à l’intérieur de With :Utilisez des points initiaux (par exemple,).Worksheets("Sheet1")) pour que les actions s’appliquent au classeur ouvert.

Meilleurs outils de productivité Office

🤖Kutools IA Aide: Révolutionnez Analyse des données grâce à :Exécution intelligente   |  Générez du code|  Créez formules personnalisées  |  Analysez des données et générez des graphiques|  Appelez Fonctions améliorées
Fonctionnalités populaires:Rechercher, mettre en surbrillance ou Marquer les doublons   |  Supprimer les lignes vides   |  Combinez les colonnes ou cellules sans perdre de données   |   Arrondi sans utiliser de formule...
Super RECHERCHEV:RechercheValeurs avec critères multiples  |  RechercheValeurs avec valeurs multiples  |   RechercheValeurs dans plusieurs feuilles   |   Correspondance floue....
Liste déroulante avancée:Créez rapidement une liste déroulante   |  Liste déroulante dépendante   |  Liste déroulante à sélection multiple....
Gestionnaire de colonnes:Ajouter un nombre précis de colonnes|Déplacer des colonnes|Basculer la visibilité des colonnes masquées|Comparer des plages et des colonnes...
Fonctionnalités vedettes:Mise au point de la grille   |  Vue de conception   |Barre de formule améliorée   | Gestionnaire de classeurs et de feuilles   |  Bibliothèque de ressources(Texte automatique)|  Sélecteur de date   |  Consolider les feuilles de calcul  |  Chiffrer/Déchiffrer les cellules   | Envoyer des e-mails par liste   |  Super Filtre   |   Filtre spécial(Filtrer les cellules avec une police en gras/italique/barré...) ...
… et bien plus encore… et plus encore:(,)Supprimer des caractères spécifiques, ...)|   50+Typesde graphiques(, ...)|   40+ Formules pratiques(Calculer l'âge en fonction de la date de naissance, ...)|   19 Outils d’insertion(,Insérer une image depuis un chemin , ...)|   de conversion (Convertir en mots,Conversion de devises, ...)|Fusionner et scinder   (Fusion avancée des lignes,Diviser les cellules , ...)|, ...)   |
Utilisez Kutools dans la langue de votre choix – disponible en anglais, espagnol, allemand, français, chinois et 40+ autres langues !

Boostez vos compétences Excel avec Kutools pour Excel et découvrez une efficacité inégalée.Kutools pour Excel propose plus de 300 fonctionnalités avancées pour améliorer votre productivité et Gagner du temps.Cliquez ici pour obtenir la fonctionnalité dont vous avez le plus besoin...


Office Tab apporte une interface à onglets à Office et rend votre travail bien plus facile

  • Activez l’édition et la lecture par onglets dans Word, Excel, PowerPoint, Publisher, Access, Visio et Project.
  • Ouvrez et créez plusieurs documents dans de nouveaux onglets de la même fenêtre, plutôt que dans de nouvelles fenêtres.
  • Augmente votre productivité de 50 % et vous fait économiser des centaines de clics de souris chaque jour !

Tous les compléments Kutools. Un seul installateur

Kutools for Office regroupe les compléments pour Excel, Word, Outlook et PowerPoint, ainsi que Office Tab Pro, ce qui en fait le choix idéal pour les équipes travaillant à travers les applications Office.

ExcelWordOutlookTabsPowerPoint
  • Suite tout-en-un— Compléments Excel, Word, Outlook et PowerPoint + Office Tab Pro
  • Un seul installateur, une seule licence— installation en quelques minutes (compatible MSI)
  • Fonctionne mieux ensemble— productivité optimisée dans toutes les applications Office
  • Essai gratuit de 30 jours avec toutes les fonctionnalités— aucune inscription, aucune carte bancaire
  • Meilleur rapport qualité-prix— économisez par rapport à l’achat de compléments individuels