Protection du classeur

Le
Sunburn
Bonjour,
j'ai ce code VBA pour verouiller mon classeur.
Je ne le trouve pas très adapté.
Je voudrais que cela verouille tous les onglets du classeur, sachant qu'il
existe des celulles "verouillées" et "non vérouillées". Je veux tout tout
verouiller.
Merci si vous avez une idée.
Yann

Sub PROTEGER()
Dim mdp As String
mdp = Application.InputBox(prompt:="Saisir le Mot de passe", Title:="Mot de
passe ?", Type:=2)
If mdp <> "h" Then _
MsgBox "Désolé mauvais mot de passe", vbCritical, _
"Erreur": Exit Sub
Worksheets("G").Range("J5").Value = ("Vérouillé")
Worksheets("G").Range("K5").Value = Environ("username") & " " & Format(Date,
"DD/MM/YY")
Dim f As Worksheet
For Each f In Sheets
ProtegeFeuille f.Name, mdp
Next f
End Sub
Sub DEPROTEGER()
Dim mdp As String
mdp = Application.InputBox(prompt:="Saisir le Mot de passe", Title:="Mot de
passe ?", Type:=2)
If mdp <> "h" Then _
MsgBox "Désolé mauvais mot de passe", vbCritical, _
"Erreur": Exit Sub
Dim f As Worksheet
For Each f In Sheets
DeprotegeFeuille f.Name, mdp
Next f
Worksheets("G").Range("J5").Value = ("Non Vérouillé")
Worksheets("G").Range("K5").ClearContents
End Sub
Function DeprotegeFeuille(nomf As String, mdp As String)
On Error GoTo YaUnOs
DeprotegeFeuille = Worksheets(nomf).Unprotect(mdp)
Exit Function
YaUnOs:
msg = "Problème rencontré dans l'exécution : "
msg = vbLf & vbLf & Err.Description
MsgBox msg
End Function
Function ProtegeFeuille(nomf As String, mdp As String)
On Error GoTo YaUnBinz
ProtegeFeuille = Worksheets(nomf).Protect(mdp)
Exit Function
YaUnBinz:
msg = "Problème rencontré dans l'exécution : "
msg = vbLf & vbLf & Err.Description
MsgBox msg
End Function
-
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
Daniel.C
Le #5391371
Bonjour.
Dans les options de protection d'Excel 2003, tu as l'option de ne pas
autoriser la sélection des cellules déverrouillées.
Cordialement.
Daniel
"Sunburn" news:
Bonjour,
j'ai ce code VBA pour verouiller mon classeur.
Je ne le trouve pas très adapté.
Je voudrais que cela verouille tous les onglets du classeur, sachant qu'il
existe des celulles "verouillées" et "non vérouillées". Je veux tout tout
verouiller.
Merci si vous avez une idée.
Yann
------
Sub PROTEGER()
Dim mdp As String
mdp = Application.InputBox(prompt:="Saisir le Mot de passe", Title:="Mot
de
passe ?", Type:=2)
If mdp <> "h" Then _
MsgBox "Désolé mauvais mot de passe", vbCritical, _
"Erreur": Exit Sub
Worksheets("G").Range("J5").Value = ("Vérouillé")
Worksheets("G").Range("K5").Value = Environ("username") & " " &
Format(Date,
"DD/MM/YY")
Dim f As Worksheet
For Each f In Sheets
ProtegeFeuille f.Name, mdp
Next f
End Sub
Sub DEPROTEGER()
Dim mdp As String
mdp = Application.InputBox(prompt:="Saisir le Mot de passe", Title:="Mot
de
passe ?", Type:=2)
If mdp <> "h" Then _
MsgBox "Désolé mauvais mot de passe", vbCritical, _
"Erreur": Exit Sub
Dim f As Worksheet
For Each f In Sheets
DeprotegeFeuille f.Name, mdp
Next f
Worksheets("G").Range("J5").Value = ("Non Vérouillé")
Worksheets("G").Range("K5").ClearContents
End Sub
Function DeprotegeFeuille(nomf As String, mdp As String)
On Error GoTo YaUnOs
DeprotegeFeuille = Worksheets(nomf).Unprotect(mdp)
Exit Function
YaUnOs:
msg = "Problème rencontré dans l'exécution : "
msg = vbLf & vbLf & Err.Description
MsgBox msg
End Function
Function ProtegeFeuille(nomf As String, mdp As String)
On Error GoTo YaUnBinz
ProtegeFeuille = Worksheets(nomf).Protect(mdp)
Exit Function
YaUnBinz:
msg = "Problème rencontré dans l'exécution : "
msg = vbLf & vbLf & Err.Description
MsgBox msg
End Function
-------


Publicité
Poster une réponse
Anonyme