Protection des feuilles par macro

J

Jare

Guest
Bonjour,

Je protège une feuille avec un mot de passe par le menu "outil" "protection" "protéger la feuille", et pour la dévérrouillée je veut utilisé une macro affecté a un bouton mais sans que l'on me pose la question du mot de passe à saisir, je veut pas à avoir a resaisir le mot de passe !! (le mot de passe sera dans la macro). Puis idem pour la reprotéger.

d'avance merci
et a+ :))
 
P

pat5

Guest
Bonsoir

Application.ScreenUpdating = False
Sheets("Ta Feuille").Select

ActiveSheet.Unprotect "Ton Mot de Passe"

ActiveSheet.Protect "Ton Mot de Passe", DrawingObjects:=True, Contents:=True, Scenarios:=True
Application.ScreenUpdating = True

J'espère que c'est ce que tu demandes
Salut ;o)
 
J

Jare

Guest
pat5

Merci c'est top, mais juste une question encore, connait tu la solution pour faire apparaitre cette fameuse boîte de saisie de mot de passe par l'intermédiaire d'une macro ou comment faire pour saisir un mot de passe dans une boîte "inptbox" ex: (****).
 
T

Thierry

Guest
Bonjour Jare,

Un simple UserForm avec une TextBox pour laquelle tu auras indiqué dans ses propriétés : "PasswordChar" le caractère que tu veux faire aparaître (ex: *) fera cette fameuse boite de saisie de mot de passe...

Par contre je ne pense pas qu'on obtienne le même résulatat avec un simple "InputBox"....

Bon Dimanche

@+Thierry
 
J

Jare

Guest
Salut Thierry,

Je suis un grand amateur de macro et je travaille sur Excel 95 depuis sa sortie et dans cette ancienne version on avait la possibilité de travailler les macro en francais!! et comme mon anglais n'ai pas faramineux j'en suis rester !! erreur !!!, mais maintenant pour passer en anglais (plus logique) c'est durdur !!!!.

Alors si tu pourrais me donner un exemple (anglais bien sur) sa serais sympa de ta part et d'avance merci.

a+ ;-)
 
T

Thierry

Guest
Bonsoir Jare,

Oui je te comprends, moi j'ai débuté le VBA avec Excel 5, et fort heureusement je n'ai jamais essayé de faire des codes en français, car à l'époque j'avais déjà lu dans la presse spécialisée que Bill ne maintiendrait jamais longtemps l'évolution avec des compillation de codes traduits... Car le VBA du début pouvait être en une bonne douzaine de languages...

Donc VBA en anglais c'est, en fait, le vrai VBA...

Bon ceci dit, je t'ai concocté un fichier Exemple qui fait ce que tu veux et même plus, puisque j'y ai intégré un compteur de tentavives d'essaies de Mot de Passe.

J'ai trouvé interressant de procéder de la sorte, car en même temps cela te fait une bonne démo de UserForms utilisés contextuellement...

à ta dispostion pour toute aide complémentaire

Bonne Nuit
@+Thierry
 

Pièces jointes

  • MotDePasse.zip
    21.3 KB · Affichages: 31
  • MotDePasse.zip
    21.3 KB · Affichages: 32
  • MotDePasse.zip
    21.3 KB · Affichages: 30
G

Gérard

Guest
Bonjour Jare

Thierry t'as donné un très bon code, il y à aussi la possibilité de n'utiliser qu'un seul UserForm pour faire ça le fichier suivant pourra servir éventuellement à d'autres qui cherche a simplifier

Bonne journée, A+
 

Pièces jointes

  • ProtectionClasseur.zip
    19.4 KB · Affichages: 30
T

Thierry

Guest
Salut Gérard,

Très beau code, il est de toi ?

J'ai apprécié la façon de bloquer l'usage de la croix... Que je ne connaissais pas...

Private Sub UserForm_QueryClose(Cancel As Integer, CloseMode As Integer)
If CloseMode = vbFormControlMenu Then
MsgBox "Cette commande ne peut être exécutée sans le mot de passe."
Cancel = True
End If
End Sub

Merci Gérard, c'est plus léger que de virer carrément la croix du UserForm.. çà va me servir...
Bonne Soirée
@+Thierry
 

Discussions similaires

Réponses
2
Affichages
152
Réponses
5
Affichages
391
Compte Supprimé 979
C
Réponses
6
Affichages
192
Réponses
8
Affichages
142

Statistiques des forums

Discussions
312 111
Messages
2 085 395
Membres
102 882
dernier inscrit
Sultan94