Boucle : tous les fichiers d'un dossier et non un spécifique

Boucle : tous les fichiers d'un dossier et non un spécifique - VB/VBA/VBS - Programmation

Marsh Posté le 20-12-2004 à 15:33:45    

Bonjour tout le monde !
 
Voilà j'ai un problème, j'ai réussi à créer une macro qui ouvre tous les fichiers d'un dossier et après grâce à une boucle à appliquer une 2ème macro à tous ces fichiers. Mon problème est le suivant comment je peux spécifier dans ma 2ème macro qu'elle doit s'appliquer à tous les fichiers (ou l'un après l'autre, ou un fichier par un fichier) et non à un fichier spécifique !?
 
En clair à la place de Windows("PR158070o.xls" ).Activate qu'est ce que je dois mettre ??? Y a t'il moyen de spécifier tous les fichiers à la place de PR158070o.xls ???
 
Merci !
 
 
Pour exemple le début de ma macro :
 
ChDir "I:\SHRRESO\CEP_PROD\Cep05\137\1371"
Workbooks.Open FileName:= _
"\\PARDFS01\Shared\SHRRESO\CEP_PROD\Cep05\137\1371\Master MW 05.xls", _
UpdateLinks:=0
 
ChDrive "I"
ChDir "I:\SHRRESO\CEP_PROD\Cep05\137\1371\Test"
Workbooks.Open Dir("\\PARDFS01\Shared\SHRRESO\CEP_PROD\Cep05\137\1371\Test\*.XLS" ), UpdateLinks:=0
 
CEP = Dir()
While CEP <> ""
Workbooks.Open CEP, UpdateLinks:=0
CEP = Dir()
Wend
 
Windows("Macro CEP 2005.XLS" ).Activate
 
For i = 1 To Application.Workbooks.Count - 1
If ActiveWorkbook.Name <> "Macro CEP 2005.XLS" Then
Macro1
Else: Application.ActiveWindow.ActivateNext
End If
Next
 
End Sub
 
Sub Macro1()
'
' Macro1 Macro
' Macro recorded 10/12/04 by  
'
' Keyboard Shortcut: Ctrl+a
'
' Mise en forme du fichier
' Worksheet 1
 
 
Windows("PR158070o.xls" ).Activate
Sheets("Renseignements" ).Select
ActiveSheet.Unprotect Password:="xxxx"
Windows("Master MW 05.xls" ).Activate
Sheets("Renseignements" ).Select
Range("D2" ).Select
Selection.Copy
Windows("PR158070o.xls" ).Activate
Range("D2" ).Select
Selection.PasteSpecial Paste:=xlValues, Operation:=xlNone, SkipBlanks:= _
False, Transpose:=False
Windows("Master MW 05.xls" ).Activate
Sheets("Renseignements" ).Select
Range("G2" ).Select
Selection.Copy
Windows("PR158070o.xls" ).Activate
...


Message édité par jujuman le 18-02-2007 à 02:52:37
Reply

Marsh Posté le 20-12-2004 à 15:33:45   

Reply

Marsh Posté le 20-12-2004 à 19:26:11    

tu peut placer le nom de tes fichiers ( et leurs chemin ) dans un tableau du style FICHIERS(100) dans ta boucle DIR
 
puis tu reprend le tableau FICHIERS dans une boucle du style:
 
i=0
Do
If FICHIERS(i)="" then exit do
Workbooks.Open FICHIERS(i)
N=ActiveWorkbook.Name
...
TRAITEMENT
...
Workbooks(N).Close False
i=i+1
Loop


Message édité par Profil supprimé le 20-12-2004 à 19:26:46
Reply

Marsh Posté le 20-12-2004 à 21:15:54    

Merci !

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed