mot de passe  Sujet résolu

Pour toutes vos questions à propos d'Excel ...

mot de passe  Sujet résolu

Messagepar Alain83 » 02 Fév 2012, 22:06

Bonjour,

j'ai des difficultés à gérer mon mot de passe. Je voudrais qu'en l'absence du bon mot de passe choisi, le champ du label6 du userform4 n'apparaisse pas. Pour qu'il disparaisse lorsque je n'en ait plus l'utilité, j'ai mis un bouton administrateur sur la page menu pour le remettre à 0 (vide). Mais cela ne marche pas toujours. Je souhaiterai aussi (avec ou sans macro) que seul l’administrateur puisse avoir accès aux macro et aux feuille du classeur. Un autre utilisateur n'ayant accès qu'aux userform.

Merci de votre aide.
Fichiers joints
dictionnaireV3.xls
(94 Kio) Téléchargé 14 fois
Alain83
Membre habitué
 
Messages: 65
Inscription: 27 Mars 2011, 14:07
Version Excel: 2003 FR

Re: mot de passe

Messagepar Bigdams » 02 Fév 2012, 23:54

Salut,

Je pense que j'ai trouvé 'un' problème potentiel (ou alors j'ai pas compris :D ) :

Code: Tout sélectionner

Sub gestionnaire()
]If MDP = Alain Then  '<------ PB ?
UserForm4.Label6.Caption = "cpt : " & cpt & Chr(13) & "sco : " & sco & Chr(13) & "traduire : " & traduire & Chr(13) & "réponse : " & reponse & Chr(13) & "nbr_mots : " & nbr_mots & Chr(13) & MDP
UserForm4.Label6.Visible = True
Else: UserForm4.Label6.Visible = False
UserForm1.CommandButton5.Visible = False
End If
End Sub
 


Ici tu teste ce qui est contenu dans la variable mdp et ce qui est contenu dans la variable Alain
Si je ne tape pas de mot de passe : mdp="" et comme Alain n'est pas déclaré (c'est donc un variant) que tu compare avec une chaine donc alain ="" , le mot de passe est validé. Et le lavel6 est affiché....

donc remplace par

If MDP = "Alain" Then

Astuce pour eviter ce genre de bug.... Au début de la macro écrit :

option explicit
cela t'obligera a déclarer et a typer tes variables... Tu aurais recu une erreur indiquant que la variable Alain n'etait pas déclaré....

Teste et dis moi si cela te convient et si tu as d'autres demandes.

Bigdams
Bigdams
Membre habitué
 
Messages: 92
Inscription: 02 Août 2011, 18:29
Version Excel: 2007 FR

Re: mot de passe

Messagepar Alain83 » 03 Fév 2012, 14:50

Oui super,
je n'avais pas vu ni qu'il manquait les guillemets, ni que je n'avais pas mis option explicit.
A bientôt.
Alain83
Membre habitué
 
Messages: 65
Inscription: 27 Mars 2011, 14:07
Version Excel: 2003 FR

Re: mot de passe

Messagepar Bigdams » 03 Fév 2012, 15:32

Salut,

As tu d'autres questions? Si non, peux tu clore la demande ?

Merci
Bigdams
Bigdams
Membre habitué
 
Messages: 92
Inscription: 02 Août 2011, 18:29
Version Excel: 2007 FR

Re: mot de passe

Messagepar Alain83 » 03 Fév 2012, 15:59

Bonjour,
Je souhaiterai avec le même mot de passe gérer l'accès aux données de mon classeur. C'est à dire que sans mot de passe, il soit impossible d'avoir accès aux feuilles, ni à VBE et que les fenêtres, ni aux écrans de saisie. Donc uniquement aux formulaires.

Merci, Alain.
Alain83
Membre habitué
 
Messages: 65
Inscription: 27 Mars 2011, 14:07
Version Excel: 2003 FR

Re: mot de passe

Messagepar Kikooisachef » 03 Fév 2012, 23:38

Salut,
Essaye avec sheets('mafeuille').visible = xlveryhydden

Cela devrais t aider pour la suite de ton programme.
Kikooisachef
Utilisateur occasionnel
 
Messages: 12
Inscription: 27 Août 2011, 19:59
Version Excel: 2003 FR

Re: mot de passe

Messagepar Alain83 » 04 Fév 2012, 11:19

Oui super merci et une dernière question sur la protection.
Est-il possible, à partir d'une macro, de vérouiller ou masquer la lecture d'une macro, c'est à dire que personne (sans mdp) puisse avoir accès aux macros du classeur ?




J'ai un petit soucis, si je mets mes xlveryhydden directement derrière le bouton dans mon userform, ça marche, si je le mets dans le module 1 où se trouve mes macros, j'ai xlveryhydden : variable non définie.

Code: Tout sélectionner
Sub fin_session()
MDP = ""
UserForm4.Label6.Visible = False
UserForm1.CommandButton5.Visible = False
Sheets("Dico").Visible = xlveryhydden
Sheets("listes").Visible = xlveryhydden
End Sub
Alain83
Membre habitué
 
Messages: 65
Inscription: 27 Mars 2011, 14:07
Version Excel: 2003 FR

Re: mot de passe

Messagepar Kikooisachef » 04 Fév 2012, 20:29

Alain83 a écrit:Oui super merci et une dernière question sur la protection.
Est-il possible, à partir d'une macro, de vérouiller ou masquer la lecture d'une macro, c'est à dire que personne (sans mdp) puisse avoir accès aux macros du classeur ?




J'ai un petit soucis, si je mets mes xlveryhydden directement derrière le bouton dans mon userform, ça marche, si je le mets dans le module 1 où se trouve mes macros, j'ai xlveryhydden : variable non définie.

Code: Tout sélectionner
Sub fin_session()
MDP = ""
UserForm4.Label6.Visible = False
UserForm1.CommandButton5.Visible = False
Sheets("Dico").Visible = xlveryhydden
Sheets("listes").Visible = xlveryhydden
End Sub


en fait je suis désolé pour l orthographe il s agit de xlveryhidden opus dslé
J avais fait un truc du genre

Code: Tout sélectionner
Private Sub Workbook_Open()
Sheets("feuil3").Visible = True
'action.....
Sheets("feuil3").Visible = xlVeryHidden
End Sub
Kikooisachef
Utilisateur occasionnel
 
Messages: 12
Inscription: 27 Août 2011, 19:59
Version Excel: 2003 FR

Re: mot de passe

Messagepar Alain83 » 04 Fév 2012, 22:46

Bonsoir.

excuses moi, je ne comprends, même avec des majuscules à Very et à Hidden (précédées ou pas de Sheets("Dico").Visible = True, ça ne marche pas. Où se situe la nuance que je ne comprends pas ?




Sheets("Dico").Visible = False seul marche pour rendre inaccessible la feuille, mais pour vérouiller ou masquer la lecture d'une macro, non.
Alain83
Membre habitué
 
Messages: 65
Inscription: 27 Mars 2011, 14:07
Version Excel: 2003 FR

Re: mot de passe

Messagepar Banzai64 » 04 Fév 2012, 23:17

Bonsoir

En mettant seulement
Code: Tout sélectionner
Sheets("Dico").Visible = False


On peut rendre visible la page par le menu Format ---> Feuille ----> Afficher

C'est pour ça qu'il faut les mettre en
Code: Tout sélectionner
Sheets("Dico").Visible = xlSheetVeryHidden

Extrait de l'aide
xlSheetVeryHidden Masque l'objet de telle sorte que le seul moyen de le rendre de nouveau visible est d'affecter la valeur True à cette propriété (l'utilisateur ne peut pas rendre l'objet visible).


Pour protéger le code dans l'éditeur
Menu : Outils ---> Propriétés de VBAProject ....
Onglet Protection tu as la possibilité d'inscrire un mot de passe
Je pense (pas sur) qu'il faut sauvegarder à partir de l'éditeur VBA
Image
Avatar de l’utilisateur
Banzai64
Passionné d'Excel
 
Messages: 4616
Inscription: 21 Nov 2010, 16:42
Localisation: Jurançon
Version Excel: 2003 FR

Suivante

Retourner vers Excel - VBA

 


  • Sujets similaires
    Réponses
    Vus
    Dernier message

Utilisateurs en ligne

Utilisateurs parcourant ce forum: Google [Bot], Google Adsense [Bot] et 8 invités