Bonjour le forum,
je cherche à appliquer la protection avec mot de passe sur toutes les feuilles de mon classeur sauf sur la feuille "libre".
voici ce que j'ai tenté mais ça ne marche pas
Code:
Sub mdp()
Dim ws As Worksheet
For Each ws In Worksheets
If ws.ProtectContents = True And ws.Name <> "libre" Then
ws.Unprotect Password:="mdp"
Else
ws.Protect Password:="mdp"
End If
Next ws
End Sub
Re : macro pour proteger les feuilles d'un classeur sauf une
Bonjour, vbamar, le Forum,
Peut-être ainsi :
Code:
Sub Onglets_protéger_sauf_un()
Dim F As Worksheet
For Each F In Sheets
If F.Name <> "libre" Then
F.Protect "mdp"
F.EnableSelection = xlUnlockedCells
End If
Next
End Sub
Re : macro pour proteger les feuilles d'un classeur sauf une
Bonsoir vbamar,
Si j'ai bien compris, ceci devrait faire l'affaire :
Code:
Sub mdp()
Dim ws As Worksheet
For Each ws In Worksheets
If ws.Name = "libre" Then
ws.Unprotect Password:="mdp"
Else
ws.Protect Password:="mdp"
End If
Next ws
End Sub
Cordialement.
Oups, content de te croiser chère Ânesse, un vrai plaisir de te voir revenue !
Bises à toi.
Re : macro pour proteger les feuilles d'un classeur sauf une
bonsoir le forum
vbamar
Papou-net, Double zéro
je me joins à vous , ça m'intéresse même si pas expert vba
question : comment déprotéger?
j'ai essayé en retirant la macro mais ça ne marche pas...
Re : macro pour proteger les feuilles d'un classeur sauf une
Bonsoir
Avec UnProtect tout simplement (qui était déjà dans le code précédent
(ou avec la macro qui rend inutile la protection des feuilles sous Excel ...) Sub dpws() Dim ws As Worksheet On Error Resume Next For Each ws In Worksheets ws.UnProtect Password:="mdp" End If Next ws End Sub
Re : macro pour proteger les feuilles d'un classeur sauf une
Bonsoir DoubleZero, Bonsoir Papou-net
merci pour vos réponses.
en fait j'ai été un peu trop succinct dans ma demande
je cherche à faire une macro qui protège et deprotege les feuilles du classeur d'ou le "if, then, else" pour la réciproque
mais cette macro doit aussi exclure la feuille "libre"
Re : macro pour proteger les feuilles d'un classeur sauf une
bonsoir Staple1600
je ne voulais pas te vexer, je n'avais pas rafraichis la page et le temps de rédiger mon message ...
j'ai testé ta proposition et on est sur la bonne voie.
la feuille "libre" a aussi un code, mais au cas ou elle serait deproteger, il faudrait la protéger avec SON code pour qu'elle soit traité en erreur par le reste de la macro
merci
Re : macro pour proteger les feuilles d'un classeur sauf une
re,
elle doit être bien celle là!
mais j'ai besoin de deproteger la feuille "libre" sans qu'on puisse toucher aux autres
c'est ça mon pb
j'ai fait comme ça et ça marche
On Error Resume Next
Dim ws As Worksheet
For Each ws In Worksheets
If ws.Name = "libre" Then
wSheet.Protect Password:="mdp_libre"
Else
If ws.ProtectContents = True Then
ws.Unprotect Password:="mdp"
Else
ws.Protect Password:="mdp"
End If
End If
Next ws
Re : macro pour proteger les feuilles d'un classeur sauf une
bonsoir le forum
vbamar
Papou-net, Double zéro
je me joins à vous , ça m'intéresse même si pas expert vba
question : comment déprotéger?
j'ai essayé en retirant la macro mais ça ne marche pas...
Je ne suis pas certain d'avoir compris ton besoin, mais je te propose quand-même cette solution :
Code:
Sub mdp()
Dim ws As Worksheet
For Each ws In Worksheets
If Not ws.Name = "libre" Then
If ws.ProtectContents = True Then
ws.Unprotect Password:="mdp"
Else
ws.Protect Password:="mdp"
End If
End If
Next ws
End Sub
A chaque exécution, cette macro fonctionne en bascule. Elle teste si les feuilles sont protégées : si oui, elle les déprotège, si non, elle les protège. Seule la feuille "libre" reste déprotégée en permanence car elle est ignorée par le premier test conditionnel.