Masquer en vba un onglet dans ruban Access 2007
Bonjour à tous
Grâce au tutoriel de Christophe Warin et à la FAQ Access 2007, j'ai chargé à l'ouverture d'une base Access 2007 un ruban personnalisé contenant les onglets "standard" Access 2007 et des onglets personnalisés pour mon application.
Je cherche à masquer entièrement deux des onglets "standard" Access et deux des miens en fonction de l'utilisateur en cours (si administrateur de la BD => tous les onglets sont présents, si autre utilisateur => 4 onglets à masquer)
Et ceci en VBA qui me permet de tester à l'aide d'une fonction associée à l'AutoExec quel utilisateur est en cours.
Je n'arrive pas à comprendre comment rendre les onglets invisibles "à la demande" ....
Remarque : je dis bien : rendre invisible ... et non pas rendre "enabled"
Voici le début de mon fichier RubanLL en Xml
Code:
1 2 3 4 5 6
| <customUI xmlns="http://schemas.microsoft.com/office/2006/01/customui"> onLoad="getRubanLL">
<ribbon >
<tabs>
<tab id="tabParamètres" label="Paramètres" visible="true">
<group id="grpParamètres" label="Paramètres">
<button id="btnParamMaj" label="Mise à jour des Paramètres" size="normal" onAction="btnParamMaj_action"/> |
et mon code Vba concerné
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72
| Option Compare Database
Option Explicit
'=====================================================
'tout ce qui concerne le Ruban sous Access 2007
'====================================== Data Ruban ===
'on définit les infos utiles au traitement
Public Xfso As New FileSystemObject
Public Xtxt As TextStream
Public Xxml As String
Public Xbool As Boolean
Public XrubanLL As IRibbonUI
'====================================== Menu Ruban ===
Public Function MenuRuban()
'pour charger le ruban de l'application
'---------------------------------------------
'
'--------------
'on charge le fichier XML en mémoire
Set Xtxt = Xfso.OpenTextFile("C:\SèmeEnTique\Bases\SFOrubanLL.xml", ForReading)
'--------------
'on récupère le contenu
Xxml = Xtxt.ReadAll
'--------------
'on charge le rubban personnalisé correspondant
Application.LoadCustomUI "SFOrubanLL", Xxml
'--------------
'--------------
'on détermine si l'utilisateur est un administrateur
If CurrentUser = "CH" Or CurrentUser = "LL" Then
'utilisateur administrateur, donc
'on laisse toutes les commandes visibles
'--------------
'on débloque le volet de navigation
DoCmd.LockNavigationPane False
'--------------
'--------------
Else
'utilisateur non-administrateur, donc
'on masque les 4 onglets à cacher
'--------------
'on bloque le volet de navigation
DoCmd.LockNavigationPane True
'--------------
'--------------
End If
'--------------
End Function
'====================================== Objet Ruban ===
'pour réserver l'objet ruban pour pouvoir l'utiliser en vba
'---------------------------------------------
'on réserve l'objet XrubanLL
'
Sub RubanLL(ribbon As IRibbonUI)
Xbool = False
Set XrubanLL = ribbon
End Sub
'============================================= Fin. ===
' |
et cela plante dès le chargement depuis que je rajoute la Sub RubanLL !!!
Moi qui maîtrisait correctement les menus en Access 2000, j'ai l'impression d'être "bouché" face à ces onglets !!! ... je ne comprend pas.
Par avance Merci de votre aide pour me donner un début de solution.