Boucle For Each... infinie

Fermé
Jade108 Messages postés 6 Date d'inscription jeudi 8 décembre 2011 Statut Membre Dernière intervention 15 avril 2014 - 15 avril 2014 à 11:26
Jade108 Messages postés 6 Date d'inscription jeudi 8 décembre 2011 Statut Membre Dernière intervention 15 avril 2014 - 15 avril 2014 à 15:46
Bonjour à tous,

Je cherche à intégrer de manière atomatique un pied de page sur tous les onglets de tous les fichiers .xl* de tous les sous répertoires d'un repertoire donné.
J'ai donc un code avec des boucles imbriquées.
Le problème est que la macro boucle sur les fichiers du 1er repertoire sans s'arrêter et ne passe pas au suivant.
Il me semblait pourtant avoir fait un test hier qui fonctionnait mais je n'arrive pas à refaire un test concluant.

Si quelqu'un peut m'aider à trouver mon erreur, ce serait gentil.

Merci par avance !




Sub test()

Dim Chemin As String
Dim Ws As Worksheet
Dim I As Integer
Dim Fso As Object
Dim Dossier_Principal
Dim FdFolder As FileDialog

Set FdFolder = Application.FileDialog(msoFileDialogFolderPicker)
With FdFolder
If .Show = -1 Then ' Clic sur Ok
Chemin = .SelectedItems(1)
Else ' Clic sur Annuler
Exit Sub
End If
End With

Set FdFolder = Nothing


Set Fso = CreateObject("Scripting.FileSystemObject")
Set Dossier_Principal = Fso.getfolder(Chemin)
Modif_Dossier Dossier_Principal


End Sub

Sub Modif_Dossier(ByRef Dossier)
Dim Rep As Object
Dim f2 As Object, wb As Workbook
Dim T As Variant
Dim Sheet As Integer

For Each Rep In Dossier.SubFolders
Modif_Dossier Rep
For Each f2 In Rep.Files
T = Split(f2.Name, ".")
If T(UBound(T)) Like "xl*" Then
Set wb = Workbooks.Open(f2, UpdateLinks:=False)
WS_Count = wb.Worksheets.Count
For Sheet = 1 To WS_Count
wb.Worksheets(Sheet).PageSetup.CenterFooter = "CONFIDENTIEL"
Next Sheet
ActiveWorkbook.CheckCompatibility = False
wb.Close True
End If
Next f2
Next Rep
End Sub


A voir également:

1 réponse

Jade108 Messages postés 6 Date d'inscription jeudi 8 décembre 2011 Statut Membre Dernière intervention 15 avril 2014
15 avril 2014 à 15:46
Re-bonjour,

Après de multiples essais, le problème vient de la ligne :

wb.Worksheets(Sheet).PageSetup.CenterFooter = "CONFIDENTIEL"

Cette ligne fait que la macro se bloque sur le répertoire en cours.
Est-ce que quelqu'un saurait me dire pourquoi ?
0