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
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