Bonjour, j'écris ce code qui me permet d'ouvrir et de copier une feuille dans chaque fichier de macro que j'ai dans de nombreux sous-dossiers. Le problème est que j'ai tous ces fichiers dans les sous-dossiers inclus dans un dossier, mais ils ont tous des noms différents. Que dois-je ajouter à ce code?Ouvrez tous les fichiers dans les sous-dossiers
Merci beaucoup!
Application.EnableEvents = False
Application.ScreenUpdating = False
Path = ActiveWorkbook.Path
FileName = Dir(Path & "\*.xlsm", vbNormal)
Do Until FileName = ""
Set Wkb = Workbooks.Open(FileName:=Path & "\" & FileName, UpdateLinks:=3)
For Each ws In Wkb.Worksheets
Application.EnableEvents = False
Application.ScreenUpdating = False
wsName = ws.Name
If (wsName = "Summary (Output)") Then
ws.Copy After:=ThisWorkbook.Sheets(ThisWorkbook.Sheets.Count)
Exit For
End If
Next ws
Wkb.Close False
FileName = Dir()
Loop
Je n'ai pas mis toute la déclaration, mais il y a :)
utiliser le 'filesystemobject' et de son' folder' vous pouvez obtenir le ' collection de sous-dossiers –
Vérifiez une approche récursive: http://stackoverflow.com/questions/22645347/loop-through-all-subfolders-using-vba – Zerk