Dans un module standard
Dans un module de classe nommé classe1, tu mets ça
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17 Dim X As New Classe1 Sub Lister() Dim NomFich As String, chemin as string Chemin = "D:\LeRep\" NomFich = Dir(Chemin, vbNormal) Do While NomFich <> "" Ouvrir Chemin & NomFich NomFich = Dir() Loop End Sub 'Pour ouvrir un fichier Sub Ouvrir(NomFich as string) Set X.App = Application Workbooks.Open NomFich End Sub
Ce code est à placer dans un classeur actif.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17 Public WithEvents App As Application 'S'il s'agit de lancer la macro lors de la création d'un nouveau classeur Private Sub App_NewWorkbook(ByVal Wb As Workbook) MsgBox "coucou" 'ou le code... End Sub 'La création consécutive de plusieurs nouveaux fichiers dans une boucle 'provoque l'événement NewWorkbook pour chaque fichier. 'S'il s'agit de lancer la macro lors de l'ouverture d'un classeur existant Private Sub App_WorkbookOpen(ByVal Wb As Workbook) MsgBox "coucou" 'ou le code... End Sub 'L'ouverture consécutive de plusieurs fichiers dans une boucle provoque 'l'événement WorkbookOpen pour chaque fichier.
Partager