OVH Cloud OVH Cloud

Proteger des classeurs

3 réponses
Avatar
arnaud
Bonjour !
Je cherche par une Macro VBA, à proteger tous les classeurs avec un mot de
passe d'un dossier précis...

du genre :
for each workbooks in c:\dossier
ActiveSheet.Protect
next

Merci de votre aide...
Arnaud !

3 réponses

Avatar
JB
Sub essai()
ChDir "c:xxxx"
nf = Dir("*.xls")
Do While nf <> ""
Workbooks.Open Filename:=nf
For i = 1 To Sheets.Count
Sheets(i).Protect Password:="xxx"
Next i
ActiveWorkbook.Close savechanges:=True
nf = Dir
Loop
End Sub

Cordialement JB
Avatar
arnaud
AU secours !!
J'ai copié la macro et quand je veux ouvrir un classeur,
j'ai un message d'erreur : Excel ne peut accéder au document , Le document
est peut etre en lecture seule ou cripté...
Je voulais que lorsque j'essaie de l'ouvir, il me mette qu'il est protégé
avec la saisie possible du mot de passe..
Maintenant , je ne peux plus en ouvrir ..
Comment je fais ??

Merci de votre aide !
Arnaud

"JB" a écrit dans le message de news:



Sub essai()
ChDir "c:xxxx"
nf = Dir("*.xls")
Do While nf <> ""
Workbooks.Open Filename:=nf
For i = 1 To Sheets.Count
Sheets(i).Protect Password:="xxx"
Next i
ActiveWorkbook.Close savechanges:=True
nf = Dir
Loop
End Sub

Cordialement JB



Avatar
JB
Le code que j'ai envoyé protège les feuilles et non pas les
classeurs:

Pour enlever la protection des feuilles:

Sub DéprotègeFeuilles()
ChDir "c:xxxx"
nf = Dir("*.xls")
Do While nf <> ""
Workbooks.Open Filename:=nf
For i = 1 To Sheets.Count
Sheets(i).Unprotect Password:="xxx"
Next i
ActiveWorkbook.Close savechanges:=True
nf = Dir
Loop
End Sub

Pour protéger les classeurs par un mot de passe:

Sub protègeClasseurs()
ChDir "c:xxxx"
nf = Dir("*.xls")
Application.DisplayAlerts = False
Do While nf <> ""
Workbooks.Open Filename:=nf
ActiveWorkbook.SaveAs Filename:=nf, Password:="xxx"
ActiveWorkbook.Close
nf = Dir
Loop
End Sub

Sub DéprotègeClasseurs()
ChDir "c:xxx"
nf = Dir("*.xls")
Application.DisplayAlerts = False
Do While nf <> ""
Workbooks.Open Filename:=nf, Password:="xxx"
ActiveWorkbook.SaveAs Filename:=nf, Password:=""
ActiveWorkbook.Close
nf = Dir
Loop
End Sub

Sub protègeFeuilles()
ChDir "c:xxx"
nf = Dir("*.xls")
Do While nf <> ""
Workbooks.Open Filename:=nf
For i = 1 To Sheets.Count
Sheets(i).Protect Password:="xxx"
Next i
ActiveWorkbook.Close savechanges:=True
nf = Dir
Loop
End Sub

JB