Lancement de macro sur plusieurs fichiers

Bonjour a tous,

Voici mon pb :

J ai un dossier où il y a 100 fichier que j ai crée sur la même base (tableau identique, macro identique,....) Et je souhaiterais pouvoir faire tourner que certaines macro de tous ces fichiers (les mêmes macro ds chaque fichier) a partir d un fichier de base qui lui serait extérieur au dossier.

Il faudrait que cette macro ouvre un fichier, fasse réaliser les macro 1,2,6 et 7, sauvegarde et passe à l' autre.

Merci de votre contribution et de vos réponses

Voici un exemple :

mets fichier1.xlsx, fichier2.xlsx, fichier3.xlsx dans un dossier quelconque

et fais tourner tes_macro.xlsm

J'ai reporté les macros sur le fichier "maître"

ici la macro se contente de :

ActiveSheet.Cells(1, 1) = fichier.Name

c'est-à-dire écrire le nom du fichier sur la première cellule de la feuille active à l'ouverture

Option Explicit

Sub mymacro()
    Dim MonRepertoire As String
    Dim Repertoire As FileDialog
    Set Repertoire = Application.FileDialog(msoFileDialogFolderPicker)
    Repertoire.Show
    If Repertoire.SelectedItems.Count > 0 Then
        MonRepertoire = Repertoire.SelectedItems(1)
    End If
    ListeFichiers MonRepertoire
    MsgBox "Fin ..."
End Sub

Sub ListeFichiers(Repertoire As String)
Dim Fso, SourceFolder, SubFolder, fichier As Object
Dim k As Integer

    Set Fso = CreateObject("Scripting.FileSystemObject")
    Set SourceFolder = Fso.GetFolder(Repertoire)

    ' boucle sur tous les fichiers du répertoire
    For Each fichier In SourceFolder.Files

        Workbooks.Open Filename:=Repertoire & "\" & fichier.Name
        ActiveSheet.Cells(1, 1) = fichier.Name
        Workbooks(fichier.Name).Close SaveChanges:=True

    Next fichier

    ' appel récursif pour les sous-répertoires
    For Each SubFolder In SourceFolder.subfolders
        ListeFichiers SubFolder.Path
    Next SubFolder

End Sub
2fichier1.xlsx (6.09 Ko)
2fichier2.xlsx (6.09 Ko)
3fichier3.xlsx (6.09 Ko)
3test-macro.xlsm (14.90 Ko)

Merci de ta réponse mais en faite dans chaque fichier j ai 10 macros.

Et je faudrais que le fichier maître fasse tourner que 5 des 10 macros des fichiers.

Si tu as une idée merci d avance

Bonjour à tous

Une variante, à adapter et tester.

Bye !

6f-de-base.xlsm (15.61 Ko)

Merci de ta réponse mais en faite dans chaque fichier j ai 10 macros.

Et je faudrais que le fichier maître fasse tourner que 5 des 10 macros des fichiers.

Si tu as une idée merci d avance

je crois que la réponse tombe sous le sens
  • soit tu mets dans ton fichier maître les 5 macros et tu remplaces alors la seule instruction que j'ai mise par les noms des 5 macros sur 5 lignes différentes
  • soit tu fais appel aux macros en spécifiant le fichier (regarde la proposition de gmb)

Merci pour votre aide

J ai adapté le fichier

Bonne soirée

Rechercher des sujets similaires à "lancement macro fichiers"