Exécuter macro sur plusieurs fichiers excel

Fermé
marie - 14 janv. 2008 à 13:00
 ambassadeur777 - 6 janv. 2009 à 22:58
Bonjour,


Je suis très débutante en VBAXL, et j'aimerais pouvoir exécuter une macro sur plusieurs fichiers .xls.

En fait, le but de mon programme est de pouvoir récupérer tous les fichiers execl qui se trouvent dans un répertoire et exécuter ma macro sur chacun de ces fichiers. mais je ne sais pas comment faire.

j'arrive déjà à récupérer les noms des fichiers qui se trouvent dans un repertoire dasn un tableau. pour activer un fichier je mets à l'intérieur d'une boucle:

Windows(Tableau(i)).Activate

mais ca ne marche pas

pouvez vous m'aider s'il vous plait?

2 réponses

Utilisateur anonyme
14 janv. 2008 à 14:58
Bonjour,

Exemple type :

Option Explicit

' Déclaration des constantes globale du module
Const cteRepertoire = "C:\Documents Local\Excel\Application\"
Const cteExcel = ".xls"
'

Sub ParcoursDossier()

    
    Dim varFichier As Variant
    
    varFichier = Dir(cteRepertoire & "*" & cteExcel, vbDirectory)
    
    Do While varFichier <> ""
        If ((varFichier <> ".") And (varFichier <> "..")) Then
            If Not ((GetAttr(cteRepertoire & varFichier) And vbDirectory) = vbDirectory) Then
                Call TraitementFichier(varFichier)
            End If
        End If
        varFichier = Dir
    Loop
    
End Sub
'

Function TraitementFichier(ByVal NomFichier As String)

    Dim Valeur As String
    
    Application.ScreenUpdating = False
    Application.Workbooks.Open cteRepertoire & NomFichier
    ' ...
    ' Soit vous lancer une macro dans le classeur
    'ActiveWorkbook.RunAutoMacros "MaMacro"
    ' Soit vous traitez directement le fichier
    ActiveWorkbook.Sheets(1).Range("A1").Value = "Traité"
    ' ...
    ActiveWorkbook.Save
    Application.DisplayAlerts = False
    ActiveWorkbook.Close
    Application.DisplayAlerts = True
    Application.ScreenUpdating = True
    
End Function
'


Lupin
5
ambassadeur777
6 janv. 2009 à 22:58
Je me posais la même question que marie,cette réponse est très pertinente, merci Lupin
0
@¿@ Messages postés 48 Date d'inscription samedi 5 janvier 2008 Statut Membre Dernière intervention 23 mai 2009 6
14 janv. 2008 à 14:08
il te faut faire un dir de tes fichiers, puis tu inseres un excel.exe (syntaxe inexacte mais c est l idee. si tu cales je te renseignerai + finement)
tu lances ta macro (je te conseille une auto_open qui se lance des l ouverture.
tu fais un close en sortie de macro et tu retournes dans ton dir.
1