Protection macro par mot de passe modifiable ?

  • Initiateur de la discussion Philippe
  • Date de début
P

Philippe

Guest
Bonjour Forum, bonjour à toutes et à tous,

Ma config : WINDOWS XP pro et Excel 2002

Voici exposé brièvement mon problème :

J’ai créé à la volée une première barre d’outil dans laquelle il y a un bouton qui doit activer une autre barre d’outils qui activera des macros… il faut donc que l’utilisateur clique sur le bouton de la première barre d’outil personnalisée pour accéder à la seconde barre d’outils qui émulera mes macros…mais seulement après s’être identifié par un mot de passe émulé en appuyant sur le bouton de la première barre… Si le mot de passe est OK, la première barre d’outil perso disparaît et la seconde barre d’outils apparaît avec les boutons qui émuleront les macros. Si le mot de passe est incorrect, la seconde barre émulant les macros n’apparaît pas.

Pour ce faire, le bouton dela première barre d’outils émule, par l’intermédiaire de sa propriété « onaction », un formulaire Userform qui demande à l’utilisateur de taper un mot de passe valide

Ce userform comporte :

- Un commandbutton dont voici le code :

Private Sub Validation_Click()
'
'*******************************************
'on cache le formulaire sans le décharger
'*******************************************
'
UserForm8.Hide
'
'*********************************************************
'on teste le mot de passe saisi par l'utilisateur
'*********************************************************
'
If TextBoxTexte.Value = LabelMotDePasse.Caption Then
'
'*********************************************************
'si le mot de passe est correct...
'on fait des test de cohérence sur le présent classeur
'en faisant appel à la fonction 'TestCoherence'
'*********************************************************
'
If TestCoherence = False Then Exit Sub
'
'********************************************************
'Si le mot de passe est correct...
'et si les tests de cohérences sont ok (VRAI)...
'on supprime la barre d'outil donnant accès aux macros...
'et on crée à la volée la barre d'outils des macros
'********************************************************
'
Call SuppressionBarOutilAccesMacros
Call CreationBarOutilPerso
'
Else
MsgBox 'Mot de passe incorrect' & _
Chr(13) & _
'Veuillez réessayer': Unload UserForm8: UserForm8.Show
End If
'
'
'
End Sub


Fin du code du commandbutton du userform

Le userform comporte deux autres contrôles qui sont :

- Un contrôle TextBox nommé « TextBoxTexte » avec la propriété « PasswordChar » comportant un astérisque *

- Un contrôle Label nommé « LabelMotDePasse » dont la propriété « visible » est à False et qui comporte le mot de passe mémorisé dans sa propriété « caption ».


Tout cela fonctionne parfaitement… Mais comment dois-je m’y prendre pour que l’utilisateur puisse modifier son mot de passe une fois que son mot de passe initial a pu être rentré ?

En effet, dans ma méthode, le mot de passe est codé en dur dans l’application VBA et je n’arrive pas à modifier la valeur du Label « LabelMotDePasse » par macro…

Comment dois-je m’y prendre pour que l’utilisateur puisse modifier son mot de passe lui-même sans aller dans VBE pour modifier la propriété « caption » du Label « LabelMotDePasse »… ?

Merci par avance pour la réponse
 

Creepy

XLDnaute Accro
Hello le forum, Philippe,

Ton problème n'est pas bien complqiué mais pour gagner du temps, pourrais-tu mettre ton exemple en pièce joint STP ?

Comme ca on part de ton code sans avoir à tout refaire.

Merci d'avance

++

Creepy
 

Discussions similaires

Réponses
5
Affichages
367
Compte Supprimé 979
C

Statistiques des forums

Discussions
311 725
Messages
2 081 947
Membres
101 849
dernier inscrit
florentMIG