Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

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
239
Réponses
5
Affichages
498
Compte Supprimé 979
C
Réponses
4
Affichages
692
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…