Bonjour,

J'ai un programme qui me donne 150 fichiers excel séparés avec tous des noms différents.

Je souhaite appliquer une macro sur l'ensemble des fichiers sans avoir à les ouvrir.


J'ai trouvé cette macro qui fonctionne mais je dois quand même ouvrir mes fichiers un par un;
Je voudrais modifier l'appel du fichier et faire une loop pour qu'il passe tous les fichiers du répertoire.


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
18
19
Sub Tousfichiers() 
Const type_fichier As String = "tous fichiers, *.*" 
Dim FichierChoisi As String 
 
'Choisir un fichier 
FichierChoisi = Application.GetOpenFilename("Fichiers Excel, *.xlsx") 
If FichierChoisi = "" Then Exit Sub 
 
'ouvrir le fichier 
Workbooks.Open (FichierChoisi) 
 
'traitement 
 
Call Verrouillage 
 
'puis à la fin fermer et enregistrer le fichier 
ActiveWorkbook.Close savechanges:=True 
 
End Sub





Macro qui sera ensuite exécutée:

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
Sub Verrouillage() 
Sheets("OUTIL").Select 
Range("A1:F2").Select 
selection.Locked = True 
Range("G1:J2").Select 
selection.Locked = False 
selection.FormulaHidden = False 
ActiveSheet.Protect Password:="motdepasse", DrawingObjects:=True, Contents:=True, Scenarios:=True 
Range("A1").Select 
End Sub


Un gros merci à l'avance pour votre aide!
Flag