Mot de passe possible ?

Selecteur

XLDnaute Nouveau
Bonsoir le forum,

J'ai créé un menu (avec des commandes qui déclenchent des macros) personnalisé au niveau de la barre de menu entre "Fenêtre" et le"?". Celui-ci apparaît donc, comme les autres, à l'ouverture d'un classeur. J'ai deux questions à vous poser :

1) Est-il possible que ce menu n'apparaisse qu'à l'ouverture d'un fichier spécifique ?

2) Dans le cas contraire, est-il possible d'affecter un mot de passe lors du click (sur ledit menu) afin de limiter l'accès à certains utilisateurs sur ce menu ?

D'avance je vous remercie pour vos propositions de réponses.

Selecteur.
 

Staple1600

XLDnaute Barbatruc
Re : Mot de passe possible ?

Bonsoir

Un exemple tout simple (pour le mot de passe)


Private Sub WorkBook_Open()
Dim mdp as string
mdp=InputBox("Saisir le mot de passe pour le mode administrateur")
If Not mdp="passedemot" Then ThisWorkBook.Close
End sub


Un peu amélioré
Code:
 Private Sub WorkBook_Open()
Dim mdp As String
mdp = InputBox("Saisir le mot de passe pour le mode administrateur")
If Not mdp = "passedemot" Then
MsgBox "Mauvais mot de passe, le classeur va être fermé"
Application.DisplayAlerts = False
ThisWorkbook.Saved = True
ThisWorkbook.Close
End if
End sub
 
Dernière édition:

Spitnolan08

XLDnaute Barbatruc
Re : Mot de passe possible ?

Re,

Pas tout à fait Staple1600, c'est le menu qu'il faut protéger par mot de passe. POur faire simple il vaut mieux gérer son affichage en fonction du classeur ouvert. L'affectation d'un mot de passe pour l'utilisation du menu deviendrait rapidement une contrainte même si on attribue les droits d'accès dès la premère validation :
Code:
 Private Sub WorkBook_Open()
    Application.CommandBars("TaBarredeMenu").Visible = True
.....
end sub
Code:
Private Sub Workbook_BeforeClose(Cancel As Boolean)
....
    Application.CommandBars("TaBarredeMenu").Visible = False
End Sub
Cordialement
 
Dernière édition:

Selecteur

XLDnaute Nouveau
Re : Mot de passe possible ?

Bonsoir Spitnolan08, Staple1600, le forum,

Merci à vous pour vos réponses...

Effectivement, ce que je souhaite c'est que le classeur soit utlisable par n'importe qui MAIS pas le menu personnnalisé (d'ou le mdp).

Selecteur.
 

Staple1600

XLDnaute Barbatruc
Re : Mot de passe possible ?

Re

Exact

Dans mon idée initiale , il y avait ensuite (mais pas eu le temps de poursuivre)

un truc du genre

If mdp="ok" then
code VBA de création du menu complet
Else
code VBAcréation d'un menu allégé
End if

edit: en relisant je viens de comprendre que le menu a éte crée " à la mano"
donc mon idée n'est pas bonne
 

Selecteur

XLDnaute Nouveau
Re : Mot de passe possible ?

Re,

Au regard de vos réponses je ne vois pas la commande du "click" sur le menu personnalisé. D'après ce que j'ai compris à l'ouverture du classeur mon menu perso est masqué puis un mot de passe est demandé dans l'inputbox et si le mdp est incorrect le classeur se ferme. Ou alors je n'ai pas tout saisi ?

Selecteur.
 

Spitnolan08

XLDnaute Barbatruc
Re : Mot de passe possible ?

Re,
Non tu n'as pas tout saisi:D. Faire un mix ne signifie pas mettre bout à bout les 2 codes mais en extraire ce qui va ^etre utile...

Ton click peut être soit affecté à un bouton dédié de la barre de menu qui gère l'accès à celle ci en la rendant enabled or not
ou encore à chaque bouton est relié un module mot de passe...

Mais vraiment ce n'est pas confortable...

Cordialement
 

Staple1600

XLDnaute Barbatruc
Re : Mot de passe possible ?

Re

J'étais parti sur l'idée que le menu était crée à l'ouverture du classeur
(en fait deux menus un complet(admin) , l'autre allégé (utilisateurs)

et effectivement dans le code de mon premier message
une inputbox demande un mot de passe
et s'il n'est pas bon le classeur est fermé

Mais ce n'est pas ce que tu souhaites

Mais comme le dit Spitnolan tu peux essayer un mix

A tester
Code:
Private Sub WorkBook_Open()
Dim mdp As String
mdp = InputBox("Saisir le mot de passe pour le mode administrateur")
If  mdp = "passedemot" Then
Application.CommandBars("TaBarredeMenu").Visible = True
Else
Application.CommandBars("TaBarredeMenu").Visible = False
End if
End sub
PS: (prudence avec les menus et les bo, conseil d'ami)
 

Selecteur

XLDnaute Nouveau
Re : Mot de passe possible ?

Re,

Ce que je souhaite en fait c'est (hypothèse : l'utilisateur A n'a pas le droit d'utiliser ce menu personnalisé) :

Un utilisateur A ouvre un classeur.
Il voit dans la barre de menus mon menu personnalisé
Il click dessus
Excel lui demande le mdp
Il ne le connait pas
L'Inputbox se ferme et l'utilisateur A revient sur la feuille classique avec en visu ce fameux menu auquel il ne peut accéder.

Peut-être que ma demande est irréalisable !

Encore merci.

Selecteur.
 

Staple1600

XLDnaute Barbatruc
Re : Mot de passe possible ?

reBonsoir

Pourquoi tenter l'utilisateur A avec un menu auquel il n'a pas accès?

Ca risque de l'enerver l'utilisateur A :p

Pour réaliser ta demande:

Il faut identifier quel item du menu est cliqué
et la c'est trop compliqué pour moi (en tout cas pour ce soir)

Bonne nuit à tous
 

Spitnolan08

XLDnaute Barbatruc
Re : Mot de passe possible ?

Re,

en fait, il faudrait savoir ce qu'il y a dans ta barre de menu personnalisé... Un fichier exemple serait mieux. Si ce sont des boutons Excel "préprogrammés" cela va être dur de faire ce que je t'ai indiqué. En effet, il n'existe pas d'évènement sur les commandbars à l'exception d'une modification de celles ci. Et pour identifier le contrôle "préprogrammé" qui a donné l'ordre il faut lui affecter une macro spécifique qui se substitue à l'action préprogrammée. (Je ne sais pas si je suis clair:confused:).

Par contre, dans l'autre cas (Actions définies par toi) c'est faisable.

Cordialement
 

Discussions similaires

Réponses
5
Affichages
481
Compte Supprimé 979
C
Réponses
4
Affichages
672

Statistiques des forums

Discussions
312 732
Messages
2 091 454
Membres
104 948
dernier inscrit
Ste8RT