Exécuter Macro Sur Plusieurs Classeurs Excel

Bonjour tout le monde, je m'appelle...Gianni

J'ai un petit souci et j'espère avoir votre aide.

J'utilise excel 2016 pour différents projets et dernièrement j'ai vue , que en utilisant

une macro je pourrais gagner énormément du temps.

Je travaille avec 70 classeurs, et chaque jour pour pouvoir travailler sur l'ensemble

des classeurs il fallait les ouvrir une par une pour exécuter ma macro.

J'aimerais savoir comment éviter ce long processus avec un macro.

Voilà en quelques mots ce que je voudrais faire:

1) Ouvrir le dossier dans la quelle ce situe mes 70 classeurs excel

2) Ouvrir le premier classeur excel

3) Exécuter macro "C.I.A.O."

4) Enregistrer le classeur excel avec le même nom

5) Fermer le classeur excel

Et après ceci faire la même chose sur le reste des classeurs de mon dossier

"PROJECT", sans être obliger d'ouvrir chaque classeur 1 par 1.

Merci en Avance de prendre le temps de lire ma requête et éventuellement d'y

répondre.

Ps: si il y a certaines d'entre vous qui connaissent des vidéos ou des site ou fichiers

que parlent de ma question n'hésitez à me mettre le lien.

bonjour

vite ne conserver qu'un unique classeur qui réunit toutes les données des 70 !

et ne pas compter sur VBA, mais sur Excel.

faire par exemple des TCD

ou encore utiliser Power BI Desktop gratuit, le top !

Bonjour le fil, bonjour le forum,

Il eut été plus malin de nous donner le code de la fameuse macro. On aurait pu adapter...

Par conséquent, je te propose de copier le code ci-dessous (à adapter au niveau de l'extension et a compléter avec ta propre macro) dans un classeur. D'enregistrer ce classeur dans le même dossier PROJECT que les autres classeurs. Par la suite tu ouvriras ce fichier et lanceras la macro.

Sub Macro1()
Dim CS As Workbook 'déclare la variable CS (Classeur Sourse)
Dim CA As String 'déclare la variable CA (Chemin d'Accès)
Dim CO As Workbook 'déclare la variable CO (Classeur Ouvert)
Dim OA As Worksheet 'déclare la variable OA (Onglet Actif)
Dim F As String 'déclare la variable F (Fichier)

Set CS = ThisWorkbook 'définit le classeur Source CS
CA = CS.Path & "\" 'définit le chemin d'accès CA
F = Dir(CA & "*.xlsx") 'définit le premier classeur du dossier ayant CA comme chemin d'accès (extension à adapter !)
Do While F <> "" 'boucle tant qu'il existe des fichiers F
    If Not F = CS.Name Then 'condition : si le fichier à ouvrir n'est pas ce fichier
        Set CO = Application.Workbooks.Open(CA & F) 'définit le classeur ouvert CO (en l'ouvrant)
        Set OA = CO.ActiveSheet 'définit l'onglet actif OA
        'ici ta macro. Ssi tu fais référence à l'onglet actif utilise OA (OA.Range("A1") par exemple), sinon il faut adapter le code...
        CO.Close True 'ferme le classeur ouvert en enregistrant les changements
    End If 'fin de la condition
    F = Dir 'classeur suivant du le dossier ayant CA comme chemin d'accès
Loop 'boucle
End Sub

Merci beaucoup pour ton aide ThauThème.

Rechercher des sujets similaires à "executer macro classeurs"