Forums Rue-Montgallet.com
Rue-Montgallet.comRue-Hardware.comRue-Occasion.comRue-DVD.comRue-Jeuxvideo.comRue-AudioVideo.comRue-Telephone.comForums
S'inscrire | S'identifier |
| Recherche avancée | Aide
 
 

samsung94 Achat - Vente Informatique : heutchy, darkstolker, manucross Achat - Vente Divers : triskelion, 1 utilisateur anonyme et 18 utilisateurs inconnus

 Mot :   Pseudo :  
 
Bas de page
Auteur
 Sujet :

menu contextuel filtré par profil utilisateur excel

 
n°19255
xRay
Profil : Jeune recrue
Posté le 16-04-2008 à 11:39:23  profilanswer
 

Bonjour,
j'utilise une macro qui me permet d'afficher la liste des onglets de mon fichier en menu contextuel sur click droit et je souhaiterai la faire évoluer pour etre en mesure de ne pas tout afficher pour tout le monde ou au moins de filter l'acces à certains choix par un mot de passe.
 
Public I&
Const NomMenu As String = "ListeFeuilles"
Sub ActiveF(I& )
  ThisWorkbook.Worksheets(I).Select
End Sub
--------------------------------------------------------------------------------
Sub Effclick()
  On Error Resume Next
  Application.CommandBars("cell" ).Controls.Item(NomMenu).Delete
End Sub
--------------------------------------------------------------------------------
Sub Princ()
  With Application.CommandBars("cell" ).Controls.Add(msoControlPopup, , , 1, True)
      .Caption = NomMenu
      .OnAction = "AjoutListeF"
    End With
End Sub
--------------------------------------------------------------------------------
Private Sub AjoutListeF()
Dim C As CommandBarPopup
  Set C = Application.CommandBars("cell" ).Controls(NomMenu)
  For I = C.Controls.Count To 1 Step -1
    C.Controls(I).Delete
  Next I
   
  For I = 1 To ThisWorkbook.Worksheets.Count
    If Sheets(I).Visible Then
      With C.Controls.Add(msoControlButton)
        .Caption = Sheets(I).Name
        If .Caption = "Sheet1" Then
            .BeginGroup = True
        ElseIf .Caption = "Sheet2" Then
            .BeginGroup = True
        ElseIf .Caption = "sheet3" Then
            .BeginGroup = True
        ElseIf .Caption = "Sheet4" Then
            .FaceId = 419
            .BeginGroup = True
        ElseIf .Caption = "Sheet5" Then
            .FaceId = 362
        End If
        .OnAction = "'ActiveF """ & I & """'"
      End With
    End If
  Next I
End Sub
 
Je voudrais par exemple limiter l'acces à la "Sheet3" à l'administrateur du fichier.
 
Si quelqu'un peut m'aider ..... ?
 
Merci d'avance :)

n°19264
kiki29
Profil : Membre
Posté le 23-04-2008 à 08:33:52  profilanswer
 

Salut, peut-être via

sLoginName = Environ("USERNAME" )

qui permet de récupérer le login Windows, ne pas confondre avec

Application.UserName

qui ne donne que le nom saisi pour la licence accordée à


Message édité par kiki29 le 23-04-2008 à 08:34:23

Aller à :
Ajouter une réponse