Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Protection du classeur

1 réponse
Avatar
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
-------

1 réponse

Avatar
Daniel.C
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" a écrit dans le message de
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
-------