Petit problème de mot de passe

adi399

XLDnaute Occasionnel
Bonjour ou re le forum,

J'ai un petit problème:

voici mon code qui me perment de déverrouiller ma feuille après avoir taper un mot de passe "toto" ds ma userform.

Private Sub CommandButton1_Click()
If TextBox1.Text = "toto" Then 'mot de passe = toto
ActiveSheet.Unprotect 'ôter la protection
UserForm4.Hide ' fermer la userform
End If

J'ai mis en place différentes plages avec différents mot de passe sur ma feuille.(en utilisant outils/protection/permettre aux utilisateurs de modifier les plages.

Comment modifié mon code afin qu'il ne me déverrouille pas la feuille(qui n'a pas de mot de passe):ActiveSheet.Unprotect , mais une seul des plages que j'ai créer précedement?

merci!
 

Robert

XLDnaute Barbatruc
Repose en paix
Re : Petit problème de mot de passe

Bonjour Adi, bonjour le forum,

Je vois que tu as trouvé la parade à l'autre problème... Mais la protection des cellules se fait en deux étapes.
• le verrouillage des cellules à protéger
• la protection de l'onglet contenant ces cellules
Puisque tu ne veux pas ôter la protection de l'onglet, ôte leur verrouillage :
Code:
Private Sub CommandButton1_Click()
If TextBox1.Text = "toto" Then 'mot de passe = toto
    ActiveSheet.Unprotect 'ôter la protection
    Range("Ta_plage").Locked = False 'déverrouille la plage
    ActiveSheet.Protect 'remet la protection
End If
UserForm4.Hide ' fermer la userform
End If
 

adi399

XLDnaute Occasionnel
Re : Petit problème de mot de passe

Merc Robert pour votre aide, malheureusement la première question n'est pas encore résolu...

Pour celle-ci, j'ai bien compris votre code.
Mais dois-je attribuer des mots de passe? car j'ai une erreur au niveau de Range("Ta_plage").Locked = False 'déverrouille la plage

actuellement j'ai un mot de passe pour "ta_plage" et un autre pour l'onglet...
 

Robert

XLDnaute Barbatruc
Repose en paix
Re : Petit problème de mot de passe

Bonjour Adi, bonjour le forum,

Tu vois le temps qu'on perd sans fichier exemple...
D'après ce que j'ai compris tu demandes dans à l'utilisateur via une UserForm de saisir un mot de passe pour dévérouiller une plage.
Il y a donc deux mot de passe : celui correspondant à la plage (toto) et celui de la protection de l'onglet (par exemple : protonglet). L'utilisateur ne connaît pas celui de l'onglet mais il est censé connaître et renseigner celui de la plage... C'est bien ça ?
Dans ce cas le code serait :
Code:
[FONT=monospace]Private Sub CommandButton1_Click()
If TextBox1.Text = "toto" Then 'mot de passe = toto
    ActiveSheet.Unprotect Password:="protonglet"'ôter la protection
    Range("Ta_plage").Locked = False 'déverrouille la plage
    ActiveSheet.Protect Password:="protonglet"'remet la protection
End If
UserForm4.Hide ' fermer la userform
End If
[/FONT]
 

Discussions similaires

Réponses
2
Affichages
210
Réponses
5
Affichages
455
Compte Supprimé 979
C
Réponses
4
Affichages
654

Statistiques des forums

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