Bonjour à tous,
J'essaie de boucler sur les fichiers d'un répertoire, puis pour chaque fichier je dois boucler sur chaque feuille pour activer ou désactiver des protections.
Le parcours des différents fichier fonctionne bien.
Mais cette ligne pose problème, avec une erreur d'éxécution 9, l'indice n'appartient pas à la selection :
En plus la première itération fonctionne bien, mon premier fichier à bien toutes ses feuilles verrouillées...
L'erreur apparaît lors de la 2ème itération.
Si j'enlève la partie qui traite les feuilles, et que je laisse mon "MsgBox Chemin & Fichier", j'ai bien l'ensemble de mes fichiers qui s'affiche un par un.
Si je mets X fois en dur l'instruction "For Each w In Workbooks("Test_X.xlsx").Sheets", cela fonctionne.
Est-ce que quelqu'un à une idée de ce que je peux faire ?
Je vous remercie par avance et vous souhaite une bonne journée.
Rémi
J'essaie de boucler sur les fichiers d'un répertoire, puis pour chaque fichier je dois boucler sur chaque feuille pour activer ou désactiver des protections.
VB:
Sub Bouton1_Cliquer()
Dim w As Worksheet
Dim Chemin As String
Dim Fichier As String
Chemin = "D:\Users\Rémi\Desktop\MPG\"
Fichier = Dir(Chemin & "Test*.xlsx", vbNormal)
Do While Fichier <> ""
MsgBox Chemin & Fichier
For Each w In Workbooks(Fichier).Sheets
w.Protect Password:="********", AllowFiltering:=True
Next
Fichier = Dir
Loop
End Sub
Le parcours des différents fichier fonctionne bien.
Mais cette ligne pose problème, avec une erreur d'éxécution 9, l'indice n'appartient pas à la selection :
VB:
For Each w In Workbooks(Fichier).Sheets
En plus la première itération fonctionne bien, mon premier fichier à bien toutes ses feuilles verrouillées...
L'erreur apparaît lors de la 2ème itération.
Si j'enlève la partie qui traite les feuilles, et que je laisse mon "MsgBox Chemin & Fichier", j'ai bien l'ensemble de mes fichiers qui s'affiche un par un.
Si je mets X fois en dur l'instruction "For Each w In Workbooks("Test_X.xlsx").Sheets", cela fonctionne.
Est-ce que quelqu'un à une idée de ce que je peux faire ?
Je vous remercie par avance et vous souhaite une bonne journée.
Rémi