Automatiser la suppression de la protection d'une feuille dans un classeur
2 réponses
Le-Vif
Bonjour à tous/toutes,
je suis totalement nul en matière de macros, et je dois faire un truc
ultra-répétitif sous excel, où une simple macro devrait "exceller" !
voila : j'ai environ 1200 fichiers excel dans un même répertoire. Ils
portent des noms en incrément, du style : 0001-Dupont.xls, 0002-Martin.xls,
0003-MIchu.xls, etc... tous ces fichiers sont composés d'une unique feuille,
toujours nommée "Feuil1", et qui est protégée par un mot de passe, toujours
le même sur tous les fichiers.
Pb : comment éviter d'ouvrir à la main 1200 fichiers pour retirer la
protection ? Comment peut-on automatiser la chose ?
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
anomymousA
bonjour,
en admettant que ton répertoire s'appelle D:DONNEESPersonnelInternetNouveau Dossier
Directory = "D:DONNEESPersonnelInternetNouveau Dossier" On Error Resume Next With Application.FileSearch .NewSearch .LookIn = Directory .Filename = "*.xls" .SearchSubFolders = False .Execute For I = 1 To .FoundFiles.Count Workbooks.Open (.FoundFiles(I)) ActiveWorkbook.Sheets("Feuil1").Unprotect "ton mot de passe" Next End With
Par ailleurs, si tes fichiers ont des liens avec d'autres fichiers, il te faudra écrire Application.asktoupdatelinksúlse en entête de ton programme si tu ne veux pas qu'Excel te pose incessamment la question et remettre cette instruction à True en fin de programme.
ceci dit, je ne connais pas la taille de tes fichiers mais je suis pas ceratin du tout que tu puisses les ouvrir tous.
D'ailleurs, après si tu veux les refermer automatiquement sans qu'Excel te demande de confirmer à chaque fois si tu as fait des modifs dans le fichier, la procédure suivante le fera correctement à condition qu'ils soient les seuls ouverts .
Application.displayalertsúlse for I=workbooks.count to 1 step -1 workbooks(I).sheests("Feuil1").protect "ton mot de passe" workbooks(I).close next Application.displayalerts=true
A+
Bonjour à tous/toutes,
je suis totalement nul en matière de macros, et je dois faire un truc ultra-répétitif sous excel, où une simple macro devrait "exceller" ! voila : j'ai environ 1200 fichiers excel dans un même répertoire. Ils portent des noms en incrément, du style : 0001-Dupont.xls, 0002-Martin.xls, 0003-MIchu.xls, etc... tous ces fichiers sont composés d'une unique feuille, toujours nommée "Feuil1", et qui est protégée par un mot de passe, toujours le même sur tous les fichiers.
Pb : comment éviter d'ouvrir à la main 1200 fichiers pour retirer la protection ? Comment peut-on automatiser la chose ?
Merci d'avance pour votre aide éclairée...
Le-Vif.
bonjour,
en admettant que ton répertoire s'appelle
D:DONNEESPersonnelInternetNouveau Dossier
Directory = "D:DONNEESPersonnelInternetNouveau Dossier"
On Error Resume Next
With Application.FileSearch
.NewSearch
.LookIn = Directory
.Filename = "*.xls"
.SearchSubFolders = False
.Execute
For I = 1 To .FoundFiles.Count
Workbooks.Open (.FoundFiles(I))
ActiveWorkbook.Sheets("Feuil1").Unprotect "ton mot de passe"
Next
End With
Par ailleurs, si tes fichiers ont des liens avec d'autres fichiers, il te
faudra écrire Application.asktoupdatelinksúlse en entête de ton programme
si tu ne veux pas qu'Excel te pose incessamment la question et remettre cette
instruction à True en fin de programme.
ceci dit, je ne connais pas la taille de tes fichiers mais je suis pas
ceratin du tout que tu puisses les ouvrir tous.
D'ailleurs, après si tu veux les refermer automatiquement sans qu'Excel te
demande de confirmer à chaque fois si tu as fait des modifs dans le fichier,
la procédure suivante le fera correctement à condition qu'ils soient les
seuls ouverts .
Application.displayalertsúlse
for I=workbooks.count to 1 step -1
workbooks(I).sheests("Feuil1").protect "ton mot de passe"
workbooks(I).close
next
Application.displayalerts=true
A+
Bonjour à tous/toutes,
je suis totalement nul en matière de macros, et je dois faire un truc
ultra-répétitif sous excel, où une simple macro devrait "exceller" !
voila : j'ai environ 1200 fichiers excel dans un même répertoire. Ils
portent des noms en incrément, du style : 0001-Dupont.xls, 0002-Martin.xls,
0003-MIchu.xls, etc... tous ces fichiers sont composés d'une unique feuille,
toujours nommée "Feuil1", et qui est protégée par un mot de passe, toujours
le même sur tous les fichiers.
Pb : comment éviter d'ouvrir à la main 1200 fichiers pour retirer la
protection ? Comment peut-on automatiser la chose ?
en admettant que ton répertoire s'appelle D:DONNEESPersonnelInternetNouveau Dossier
Directory = "D:DONNEESPersonnelInternetNouveau Dossier" On Error Resume Next With Application.FileSearch .NewSearch .LookIn = Directory .Filename = "*.xls" .SearchSubFolders = False .Execute For I = 1 To .FoundFiles.Count Workbooks.Open (.FoundFiles(I)) ActiveWorkbook.Sheets("Feuil1").Unprotect "ton mot de passe" Next End With
Par ailleurs, si tes fichiers ont des liens avec d'autres fichiers, il te faudra écrire Application.asktoupdatelinksúlse en entête de ton programme si tu ne veux pas qu'Excel te pose incessamment la question et remettre cette instruction à True en fin de programme.
ceci dit, je ne connais pas la taille de tes fichiers mais je suis pas ceratin du tout que tu puisses les ouvrir tous.
D'ailleurs, après si tu veux les refermer automatiquement sans qu'Excel te demande de confirmer à chaque fois si tu as fait des modifs dans le fichier, la procédure suivante le fera correctement à condition qu'ils soient les seuls ouverts .
Application.displayalertsúlse for I=workbooks.count to 1 step -1 workbooks(I).sheests("Feuil1").protect "ton mot de passe" workbooks(I).close next Application.displayalerts=true
A+
Bonjour à tous/toutes,
je suis totalement nul en matière de macros, et je dois faire un truc ultra-répétitif sous excel, où une simple macro devrait "exceller" ! voila : j'ai environ 1200 fichiers excel dans un même répertoire. Ils portent des noms en incrément, du style : 0001-Dupont.xls, 0002-Martin.xls, 0003-MIchu.xls, etc... tous ces fichiers sont composés d'une unique feuille, toujours nommée "Feuil1", et qui est protégée par un mot de passe, toujours le même sur tous les fichiers.
Pb : comment éviter d'ouvrir à la main 1200 fichiers pour retirer la protection ? Comment peut-on automatiser la chose ?
Merci d'avance pour votre aide éclairée...
Le-Vif.
Le-Vif
Merci pour ta réponse, j'essaie et te tiens au courant.
@ +
Le Vif "anomymousA" a écrit dans le message de news:
bonjour,
en admettant que ton répertoire s'appelle D:DONNEESPersonnelInternetNouveau Dossier
Directory = "D:DONNEESPersonnelInternetNouveau Dossier" On Error Resume Next With Application.FileSearch .NewSearch .LookIn = Directory .Filename = "*.xls" .SearchSubFolders = False .Execute For I = 1 To .FoundFiles.Count Workbooks.Open (.FoundFiles(I)) ActiveWorkbook.Sheets("Feuil1").Unprotect "ton mot de passe" Next End With
Par ailleurs, si tes fichiers ont des liens avec d'autres fichiers, il te faudra écrire Application.asktoupdatelinksúlse en entête de ton programme
si tu ne veux pas qu'Excel te pose incessamment la question et remettre cette
instruction à True en fin de programme.
ceci dit, je ne connais pas la taille de tes fichiers mais je suis pas ceratin du tout que tu puisses les ouvrir tous.
D'ailleurs, après si tu veux les refermer automatiquement sans qu'Excel te demande de confirmer à chaque fois si tu as fait des modifs dans le fichier,
la procédure suivante le fera correctement à condition qu'ils soient les seuls ouverts .
Application.displayalertsúlse for I=workbooks.count to 1 step -1 workbooks(I).sheests("Feuil1").protect "ton mot de passe" workbooks(I).close next Application.displayalerts=true
A+
Bonjour à tous/toutes,
je suis totalement nul en matière de macros, et je dois faire un truc ultra-répétitif sous excel, où une simple macro devrait "exceller" ! voila : j'ai environ 1200 fichiers excel dans un même répertoire. Ils portent des noms en incrément, du style : 0001-Dupont.xls, 0002-Martin.xls,
0003-MIchu.xls, etc... tous ces fichiers sont composés d'une unique feuille,
toujours nommée "Feuil1", et qui est protégée par un mot de passe, toujours
le même sur tous les fichiers.
Pb : comment éviter d'ouvrir à la main 1200 fichiers pour retirer la protection ? Comment peut-on automatiser la chose ?
Merci d'avance pour votre aide éclairée...
Le-Vif.
Merci pour ta réponse, j'essaie et te tiens au courant.
@ +
Le Vif
"anomymousA" <anomymousA@discussions.microsoft.com> a écrit dans le message
de news:01CDE246-359D-425B-B2E4-6EA4C71F3098@microsoft.com...
bonjour,
en admettant que ton répertoire s'appelle
D:DONNEESPersonnelInternetNouveau Dossier
Directory = "D:DONNEESPersonnelInternetNouveau Dossier"
On Error Resume Next
With Application.FileSearch
.NewSearch
.LookIn = Directory
.Filename = "*.xls"
.SearchSubFolders = False
.Execute
For I = 1 To .FoundFiles.Count
Workbooks.Open (.FoundFiles(I))
ActiveWorkbook.Sheets("Feuil1").Unprotect "ton mot de passe"
Next
End With
Par ailleurs, si tes fichiers ont des liens avec d'autres fichiers, il te
faudra écrire Application.asktoupdatelinksúlse en entête de ton
programme
si tu ne veux pas qu'Excel te pose incessamment la question et remettre
cette
instruction à True en fin de programme.
ceci dit, je ne connais pas la taille de tes fichiers mais je suis pas
ceratin du tout que tu puisses les ouvrir tous.
D'ailleurs, après si tu veux les refermer automatiquement sans qu'Excel te
demande de confirmer à chaque fois si tu as fait des modifs dans le
fichier,
la procédure suivante le fera correctement à condition qu'ils soient les
seuls ouverts .
Application.displayalertsúlse
for I=workbooks.count to 1 step -1
workbooks(I).sheests("Feuil1").protect "ton mot de passe"
workbooks(I).close
next
Application.displayalerts=true
A+
Bonjour à tous/toutes,
je suis totalement nul en matière de macros, et je dois faire un truc
ultra-répétitif sous excel, où une simple macro devrait "exceller" !
voila : j'ai environ 1200 fichiers excel dans un même répertoire. Ils
portent des noms en incrément, du style : 0001-Dupont.xls,
0002-Martin.xls,
0003-MIchu.xls, etc... tous ces fichiers sont composés d'une unique
feuille,
toujours nommée "Feuil1", et qui est protégée par un mot de passe,
toujours
le même sur tous les fichiers.
Pb : comment éviter d'ouvrir à la main 1200 fichiers pour retirer la
protection ? Comment peut-on automatiser la chose ?
Merci pour ta réponse, j'essaie et te tiens au courant.
@ +
Le Vif "anomymousA" a écrit dans le message de news:
bonjour,
en admettant que ton répertoire s'appelle D:DONNEESPersonnelInternetNouveau Dossier
Directory = "D:DONNEESPersonnelInternetNouveau Dossier" On Error Resume Next With Application.FileSearch .NewSearch .LookIn = Directory .Filename = "*.xls" .SearchSubFolders = False .Execute For I = 1 To .FoundFiles.Count Workbooks.Open (.FoundFiles(I)) ActiveWorkbook.Sheets("Feuil1").Unprotect "ton mot de passe" Next End With
Par ailleurs, si tes fichiers ont des liens avec d'autres fichiers, il te faudra écrire Application.asktoupdatelinksúlse en entête de ton programme
si tu ne veux pas qu'Excel te pose incessamment la question et remettre cette
instruction à True en fin de programme.
ceci dit, je ne connais pas la taille de tes fichiers mais je suis pas ceratin du tout que tu puisses les ouvrir tous.
D'ailleurs, après si tu veux les refermer automatiquement sans qu'Excel te demande de confirmer à chaque fois si tu as fait des modifs dans le fichier,
la procédure suivante le fera correctement à condition qu'ils soient les seuls ouverts .
Application.displayalertsúlse for I=workbooks.count to 1 step -1 workbooks(I).sheests("Feuil1").protect "ton mot de passe" workbooks(I).close next Application.displayalerts=true
A+
Bonjour à tous/toutes,
je suis totalement nul en matière de macros, et je dois faire un truc ultra-répétitif sous excel, où une simple macro devrait "exceller" ! voila : j'ai environ 1200 fichiers excel dans un même répertoire. Ils portent des noms en incrément, du style : 0001-Dupont.xls, 0002-Martin.xls,
0003-MIchu.xls, etc... tous ces fichiers sont composés d'une unique feuille,
toujours nommée "Feuil1", et qui est protégée par un mot de passe, toujours
le même sur tous les fichiers.
Pb : comment éviter d'ouvrir à la main 1200 fichiers pour retirer la protection ? Comment peut-on automatiser la chose ?