protection feuille

pascal35135

XLDnaute Nouveau
Bonjour,
Je suis en train de revoir mes codes et j'essaie de peaufiner.
Je désire déprotéger et protéger une feuille, j'ai fait ceci:
-------------------------------
Sub deprotege_donnees()
'
Sheets("Données").Select
mdp = InputBox("Veuillez entrer le mot de passe", "Déportection feuille DONNEES", "")
'
If (mdp = "monmotdepasses") Then
'
Sheets("Données").Unprotect mdp
'Else: MsgBox ("Mauvais mot de passe.")
Else: ActiveSheet.Protect mdp
End If
End Sub
-----------------------------
Je souhaite maintenant que
1 dans la cellule A1, il soit noté "Feuille déprotégée".
2 Quand on relance la macro, cela re-protège la feuille, et cela note en A1 "Feuille Protégée".

Je me permets une autre question.

Comment faire pour qu'une feuille soit déprotégée lorsque le mot de passe est saisie dans une cellule A1 par exemple et reste protégée, lorsque le MDP est erroné.
Merci pour votre aide.
 

Papou-net

XLDnaute Barbatruc
Re : protection feuille

Bonjour Pascal35135,

Pour le premier point :

Code:
Sub deprotege_donnees()
'
    Sheets("Données").Select
mdp = InputBox("Veuillez entrer le mot de passe", "Déportection feuille DONNEES", "")
'
If (mdp = "monmotdepasses") Then
'
Sheets("Données").Unprotect mdp
Range("A1") = "Feuille déprotégée"
Else
ActiveSheet.Protect mdp
Range("A1") = "Feuille Protégée"
End If
End Sub

Pour la deuxième question, macro à insérer dans le module de code de la feuille :

Code:
Private Sub Worksheet_Change(ByVal Target As Range)
If Not Target = "$A$1" Then Exit Sub
If Target.Value = "monmotdepasses" Then
  ActiveSheet.UnProtect "monmotdepasses"
  Else
  ActiveSheet.Protect "monmotdepasses"
End Sub
Cordialement.
 

pascal35135

XLDnaute Nouveau
Re : protection feuille

Bonjour,
Merci pour les réponses,
Pour la 1 je n'ai pas du être assez précis, je souhaite que la macro"boucle" c'est à dire que si j'ai déprotégé , quand je relance la macro, celle-ci protège sans demander le code et A1="protégé".
Et pendant que j'y suis, si à la demande du MDP celui est faux, une fenêtre s'ouvre erreur mdp.

Pour la 2 je suppose qu'il manque un end if. même après correction je n'arrive pas la faire fonctionner.

Merci
Pascal


Bonjour Pascal35135,

Pour le premier point :

Code:
Sub deprotege_donnees()
'
    Sheets("Données").Select
mdp = InputBox("Veuillez entrer le mot de passe", "Déportection feuille DONNEES", "")
'
If (mdp = "monmotdepasses") Then
'
Sheets("Données").Unprotect mdp
Range("A1") = "Feuille déprotégée"
Else
ActiveSheet.Protect mdp
Range("A1") = "Feuille Protégée"
End If
End Sub

Pour la deuxième question, macro à insérer dans le module de code de la feuille :

Code:
Private Sub Worksheet_Change(ByVal Target As Range)
If Not Target = "$A$1" Then Exit Sub
If Target.Value = "monmotdepasses" Then
  ActiveSheet.UnProtect "monmotdepasses"
  Else
  ActiveSheet.Protect "monmotdepasses"
End Sub
Cordialement.
 

Papou-net

XLDnaute Barbatruc
Re : protection feuille

RE Pascal,

Il manque effectivement un End If dans la maco que je t'ai proposée. Mais pour que tu puisses la faire fonctionner, il faut maodifier la cellule A1 car c'est ce que j'avais compris qu'il fallait faire.

N'étant plus certain de rien à l'heure où je t'écris, je pense qu'il serait utile que tu joignes une copie de ton fichier (sans données confidentielles) ou un exemple de classeur reproduisant la structure du fichier.

Cordialement.
 

Discussions similaires

Statistiques des forums

Discussions
312 489
Messages
2 088 855
Membres
103 979
dernier inscrit
bderradji