IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

IHM Discussion :

Afficher un autre ruban que celui prédéfini [AC-2010]


Sujet :

IHM

  1. #1
    Membre habitué
    Profil pro
    Inscrit en
    Novembre 2010
    Messages
    178
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2010
    Messages : 178
    Points : 175
    Points
    175
    Par défaut Afficher un autre ruban que celui prédéfini
    Bonjour,

    Je souhaite afficher un autre ruban que celui prédéfini dans Option\BD active\Nom du ruban.

    Je m'explique :
    Dans mon application les rubans sont dans une table USysRibbons qui comporte un champ NomRuban et autre XMLRuban.
    A l'ouverture d'un formulaire de démarrage je charge tous les rubans grâce à une fonction LoadRibbons.

    J'ai défini le ruban par défaut (rubGENERAL) dans Option\BD active\Nom du ruban. Lorsque je clique sur un des boutons de rubGENERAL, je souhaite qu'il soit remplacé ponctuellement par rubSPECIFIQUE.

    Aujourd'hui je contourne en ouvrant un formulaire et en executant :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Forms!NomDuFormulaire.RibbonName = rubSPECIFIQUE
    A la fermeture du formulaire c'est rubGENERAL qui réapparait.


    Ma question est la suivante :
    Je souhaite afficher rubSPECIFIQUE sans passer par l'ouverture d'un formulaire. Est ce possible ? J'ai bien lu les tutos mais je ne trouve pas ce qui correspond à mon besoin.

    D'avance merci

  2. #2
    Expert éminent sénior
    Avatar de Dolphy35
    Homme Profil pro
    Responsable Systemes d'Information
    Inscrit en
    Octobre 2004
    Messages
    4 373
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Responsable Systemes d'Information
    Secteur : Industrie

    Informations forums :
    Inscription : Octobre 2004
    Messages : 4 373
    Points : 11 221
    Points
    11 221
    Par défaut
    Bonjour,

    Il suffit de créer des onglets dans le Ruban et de jouer sur la visibilité de ceux-ci.

    exemple : onglet principal et onglet secondaire. tu affiche le principale par défaut et quand tu le souhaite tu le rend visible et tu affiche l'autre

    Dolphy

  3. #3
    Membre habitué
    Profil pro
    Inscrit en
    Novembre 2010
    Messages
    178
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2010
    Messages : 178
    Points : 175
    Points
    175
    Par défaut
    Bonjour et merci pour la réponse mais j'ai du mal ...
    ... je suis le tuto http://arkham46.developpez.com/artic...bbon2010/#LVII mais, comme beaucoup sur ce forum, je fais des copier coller en essayant de suivre tant bien que mal.

    Voici mon LoadRibbons :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
     
    Option Compare Database
    Public oRibbon As IRibbonUI 'http://arkham46.developpez.com/articles/office/ribbon2010/#LVII
    Dim rs As DAO.Recordset 'http://officesystemaccess.seneque.net/vba/ruban.htm
     
    Public Function LoadRibbons()
     
        On Error Resume Next
     
        Set rs = CurrentDb.OpenRecordset("Select * from USysRibbons")
        If Not rs.EOF Then
            Do Until rs.EOF
                LoadCustomUI rs!NomRuban, rs!XMLRuban
                Debug.Print "Charge du ruban " & rs!NomRuban
                rs.MoveNext
            Loop
        End If
     
        Set rs = Nothing
     
    End Function
    Voici mon XML
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
     
    <customUI xmlns="http://schemas.microsoft.com/office/2009/07/customui" onLoad="RibbonOnLoad"> 
     
       <ribbon startFromScratch="true">
          <tabs>
    	<tab id="tabGENERAL" label="Utilisateur" visible="true">
    		<group id="grpInitialisation" label="Accés limité par mot de passe">
    			<button id="btnAccesCDC" label="Gestion responsable centre" imageMso="FileServerMenu" size="large" onAction = 'Sub_Admin03'/>
    		</group>
    	</tab>
     
    	<tab id="tabCDC" label="Responsable centre" visible="false">
    		<group id="grpAPropos2" label="A Propos">
    			<button id="btnAPropos2" label="A propos ..." imageMso="GroupAdminister" size="large" onAction = 'Sub_APropos'/>
    		</group>
    	</tab>
     
          </tabs>
       </ribbon>
    </customUI>
    Voici mon Sub_Admin03

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    Public Sub Sub_Admin03(control As IRibbonControl)
        oRibbon.ActivateTab "TabCDC"
    End Sub
    L'objectif lorsque je cliques sur le bouton "btnAccesCDC" c'est de faire apparaitre l'onglet "TabCDC".
    J'ai une erreur 91 variable ... non définie. Mon onglet personnalisé "TabCDC" n'est pas défini pourtant lorsque je compile je n'ai pas de message.

    J'essais depuis hier et la je sèche !!

  4. #4
    Expert éminent sénior
    Avatar de Arkham46
    Profil pro
    Inscrit en
    Septembre 2003
    Messages
    5 865
    Détails du profil
    Informations personnelles :
    Localisation : France, Loiret (Centre)

    Informations forums :
    Inscription : Septembre 2003
    Messages : 5 865
    Points : 14 526
    Points
    14 526
    Par défaut
    d'abord pour l'objet oRibbon voir ici : http://warin.developpez.com/access/ruban/#LVII.A
    il faut l'initiliser sur le onLoad du ruban

    ensuite ce n'est pas ActivateTab qu'il faut utiliser (cela active l'onglet, ce n'est pas une visibilité)

    il faut jouer avec le getVisible de l'onglet (et retirer l'attribut visible)
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <tab id="tabCDC" label="Responsable centre" getVisible="TabCDCGetVisible">
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    public TabCDCisVisible as boolean
     
    sub TabCDCGetVisible(control as IRibbonControl, ByRef visible)
    visible = TabCDCisVisible 
    end sub
     
    Public Sub Sub_Admin03(control As IRibbonControl)
        TabCDCisVisible  = true 
        oRibbon.InvalidateControl "tabCDC"
    End Sub
    en espérant ne pas avoir fait de fautes, je n'ai pas testé :

    - TabCDCisVisible est False à l'ouverture de la base
    - TabCDC appelle TabCDCGetVisible pour savoir s'il doit être affiché => non affiché par défaut à l'ouverture
    - sur clic sur le bouton, Sub_Admin03 met TabCDCisVisible à True et demande la raffraîchissement de tabCDC
    - TabCDC appelle donc à nouveau TabCDCGetVisible pour savoir s'il doit être affiché => il est affiché car TabCDCisVisible est True

  5. #5
    Membre habitué
    Profil pro
    Inscrit en
    Novembre 2010
    Messages
    178
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2010
    Messages : 178
    Points : 175
    Points
    175
    Par défaut
    Bonjour et merci pour la réponse,

    Je n'y arrive toujours pas. Cette fois ci le ruban ne se charge plus comme si "TabCDCisVisible" n'était pas reconnu dans l'XML. Mes autres rubans sont bien chargés.

    Voici l'XML modifié :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    <customUI xmlns="http://schemas.microsoft.com/office/2009/07/customui" onLoad="RibbonOnLoad"> 
     
       <ribbon startFromScratch="true">
          <tabs>
    	<tab id="tabGENERAL" label="Utilisateur" visible="true">
    		<group id="grpInitialisation" label="Accés limité par mot de passe">
    			<button id="btnAccesCDC" label="Gestion responsable centre" imageMso="FileServerMenu" size="large" onAction = 'Sub_Admin03'/>
    		</group>
    	</tab>
     
    	<tab id="tabCDC" label="Responsable centre" GetVisible="TabCDCGetVisible">
    		<group id="grpAPropos2" label="A Propos">
    			<button id="btnAPropos2" label="A propos ..." imageMso="GroupAdminister" size="large" onAction = 'Sub_APropos'/>
    		</group>
    	</tab>
     
          </tabs>
       </ribbon>
    </customUI>

    Voici le code modifié :

    Initialisation des variables
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    Option Compare Database
    Option Explicit
     
    Public oRibbon As IRibbonUI 'Initialisation de oRibbon
    Public TabCDCisVisible As Boolean 'Initialisation de TabCDCisVisible 
    Dim rs As DAO.Recordset
    Code destiné à charger les différents rubans
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    Public Function LoadRibbons()
     
        On Error Resume Next
     
        Set rs = CurrentDb.OpenRecordset("Select * from USysRibbons")
        If Not rs.EOF Then
            Do Until rs.EOF
                LoadCustomUI rs!NomRuban, rs!XMLRuban
                Debug.Print "Charge du ruban " & rs!NomRuban
                rs.MoveNext
            Loop
        End If
     
        Set rs = Nothing
     
    End Function
    Code destiné à rendre TabCDC non visible par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Sub TabCDCGetVisible(control As IRibbonControl, ByRef visible)
        visible = TabCDCisVisible
    End Sub
    Code du tuto http://arkham46.developpez.com/artic...bbon2010/#LVII. Est il toujours utile dans ce cas ?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Sub RibbonOnLoad(Ribbon As IRibbonUI)
        Set oRibbon = Ribbon
    End Sub
    Code sur le bouton destiné à faire apparaitre TabCDC
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    Public Sub Sub_Admin03(control As IRibbonControl)
        TabCDCisVisible = True
        oRibbon.InvalidateControl "tabCDC"
    End Sub
    D'avance Merci pour vos réponses.

  6. #6
    Expert éminent sénior
    Avatar de Arkham46
    Profil pro
    Inscrit en
    Septembre 2003
    Messages
    5 865
    Détails du profil
    Informations personnelles :
    Localisation : France, Loiret (Centre)

    Informations forums :
    Inscription : Septembre 2003
    Messages : 5 865
    Points : 14 526
    Points
    14 526
    Par défaut
    je me suis trompé

    il n'y a pas de première majuscule à getVisible :
    Code xml : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    <tab id="tabCDC" label="Responsable centre" getVisible="TabCDCGetVisible">

    oui le RibbonOnLoad est utile
    lorsque le ruban est chargé, le onLoad du ruban exécute RibbonOnLoad qui initialise alors oRibbon

    remarque : si ta table USysRibbons est correcte, LoadRibbons est inutile, Access charge les rubans de cette table au démarrage
    cf : http://www.developpez.net/forums/d66...-base-donnees/
    le champ ID est optionnel mais les autres doivent avoir le nom et le type de données spécifiés
    Charger ses rubans avec LoadCustomUI est utile si on ne souhaite pas tous les charger systématiquement, ou si on est dans un projet ADP, ou si on ne stocke pas ses rubans dans une table

    remarque2 : on peut demander l'affichage des erreurs du ruban, pratique pour le débogage
    cf "Activer l'affichage des messages d'erreur de compléments d'interface utilisateur" dans cette page : http://office.microsoft.com/fr-ca/ac...010211415.aspx
    Avec les erreurs activées, on devrait voir un message d'erreur pour un problème de majuscule (GetVisible au lieu de getVisible) par exemple.
    Cela évite de perdre du temps à chercher l'erreur.

    remarque3 : je fais de la pub pour mon assistant-ruban qui pourra t'aider à rédiger le xml
    les rubans de table uSysRibbon sont trouvées si la table possèdent bien des champs nommés RibbonName et RibbonXml

  7. #7
    Membre habitué
    Profil pro
    Inscrit en
    Novembre 2010
    Messages
    178
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2010
    Messages : 178
    Points : 175
    Points
    175
    Par défaut
    Merci pour l'aide précieuse

    J'arrive à charger le ruban effectivement c'était la majuscule.
    Par contre lorsque je clique sur le bouton qui execute sub_admin03, j'ai toujours une erreur "91 variable ... non définie" et le debogage me dirige sur "oRibbon.InvalidateControl "tabCDC" "

    En ce qui concerne l'assistant ça doit être du bonheur je vais tester - Merci beaucoup. (ça a du être du boulot pour créer l'interface)

    En ce qui concerne "Activer l'affichage des messages d'erreur de compléments d'interface utilisateur" je suis avec 2010 et chez MS ils ont du changer l'option de place ou de nom je ne trouve pas ! Même dans l'aide


    Encore merci pour la patience et le temps passé

  8. #8
    Expert éminent sénior
    Avatar de Arkham46
    Profil pro
    Inscrit en
    Septembre 2003
    Messages
    5 865
    Détails du profil
    Informations personnelles :
    Localisation : France, Loiret (Centre)

    Informations forums :
    Inscription : Septembre 2003
    Messages : 5 865
    Points : 14 526
    Points
    14 526
    Par défaut
    Citation Envoyé par JeanYves70 Voir le message
    Par contre lorsque je clique sur le bouton qui execute sub_admin03, j'ai toujours une erreur "91 variable ... non définie" et le debogage me dirige sur "oRibbon.InvalidateControl "tabCDC" "
    bizarre
    RibbonOnLoad est-il bien exécuté?
    (on peut mettre un Stop ou un MsgBox dans la procédure pour le vérifier)
    c'est bien oRibbon partout (dans la procédure et dans la déclaration), il n'y a pas une erreur d'étourderie dans le nom de la variable?

    Citation Envoyé par JeanYves70 Voir le message
    En ce qui concerne "Activer l'affichage des messages d'erreur de compléments d'interface utilisateur" je suis avec 2010 et chez MS ils ont du changer l'option de place ou de nom je ne trouve pas ! Même dans l'aide
    je n'ai pas 2010 mais ça ne doit pas être très différent
    par contre j'ai un peu eu du mal à trouver l'option la première fois, c'est noyé au mileu de plusieurs pages mais ça doit y être

  9. #9
    Membre habitué
    Profil pro
    Inscrit en
    Novembre 2010
    Messages
    178
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2010
    Messages : 178
    Points : 175
    Points
    175
    Par défaut
    OUPS comme disent les jeunes

    C'est moi, à force de mettre et d'enlever, qui avais effacé le "onLoad="RibbonOnLoad">" du XML. Ca fonctionne parfaitement.

    Donc je vais (tenter d') adapter afin que le tabCDC apparaisse suite à la saisie d'un mot de passe

    En ce qui concerne la table USysRibbons j'ai changé les noms de champs et les rubans se chargent bien au démarrage automatiquement. C'est nickel !

    Encore merci pour les réponses.

    @ bientôt certainement

  10. #10
    Membre habitué
    Profil pro
    Inscrit en
    Novembre 2010
    Messages
    178
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2010
    Messages : 178
    Points : 175
    Points
    175
    Par défaut
    Bonjour,

    Cette fois ci j'arrive bien à faire apparaitre et disparaitre le "tabCDC" en cliquant sur des boutons.

    Mais l'interêt du dispositif c'est de faire saisir un indentifiant/pass à l'utilisateur afin qu'il puisse accéder ou non au fameux "tabCDC". Donc sur clic du bouton "btnAccesCDC" j'utilise un formulaire "frmMotDePasse" dans lequel j'invite à saisir indentifiant/pass. Sur saisie valide, j'appelle la procédure suivante :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    Public Sub ESSAI(control As IRibbonControl)
     
        Debug.Print "ESSAI"
        TabCDCisVisible = True
        oRibbon.InvalidateControl "tabCDC"
     
    End Sub
    J'appelle la procédure par et je suis à nouveau bloqué par oRibbon.InvalidateControl "tabCDC" qui n'est pas défini.

    J'entre pourtant bien dans la sub, le debug.print fonctionne.

    Je suppose devoir appeler la procedure par mais quoi à la place des xxx ? (Toutes les procédures sont dans le même module, mais je pense que cela n'a pas d'importance)

    Encore une fois, d'avance

  11. #11
    Expert éminent sénior
    Avatar de Arkham46
    Profil pro
    Inscrit en
    Septembre 2003
    Messages
    5 865
    Détails du profil
    Informations personnelles :
    Localisation : France, Loiret (Centre)

    Informations forums :
    Inscription : Septembre 2003
    Messages : 5 865
    Points : 14 526
    Points
    14 526
    Par défaut
    bjr,

    je ne comprend pas trop l'articulation des procédures
    pourquoi une procédure ESSAI avec un paramètre IRibbonControl?

  12. #12
    Membre habitué
    Profil pro
    Inscrit en
    Novembre 2010
    Messages
    178
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2010
    Messages : 178
    Points : 175
    Points
    175
    Par défaut
    Bonjour Arkham46 et merci de répondre encore,

    L'idée c'est ça :

    1 - Au chargement de l'appli, le ruban est affiché sans le tabCDC qui est en accès limité
    2 - L'utilisateur clique sur le bouton "Responsable centre" ce qui ouvre un formulaire mot de passe.
    3 - L'utilisateur saisi son login + mot de passe et si correct ...
    4 - ... le tabCDC s'affiche sur le ruban

    C'est l'action 4 que j'essai de réaliser avec la sub ESSAI (c'est un nom provisoire)

    Donc j'exécute la sub ESSAI après mise à jour du mot de passe valide dans le formulaire.

    Grâce à ton aide j'arrive bien à afficher et à faire disparaître le tabCDC, mais cela n'a pas d'intérêt s'il n'y a pas de mot de passe.

    En lisant le tuto de C Warin création de rubans personnalisés sous MSACC2007, j'avais envisagé d'afficher une zone editbox dans mon ruban mais pas de masque de saisie "mot de passe" ...

    Je trouve plus sympa et surtout plus dans mes capacités de passer par un formulaire.
    Si quelqu'un pouvait encore en douter, je ne maîtrise pas tout, j'ai du mal avec les variables notamment celle que l'on doit mettre entre les parenthèses des sub ou fonctions.

  13. #13
    Expert éminent sénior
    Avatar de Arkham46
    Profil pro
    Inscrit en
    Septembre 2003
    Messages
    5 865
    Détails du profil
    Informations personnelles :
    Localisation : France, Loiret (Centre)

    Informations forums :
    Inscription : Septembre 2003
    Messages : 5 865
    Points : 14 526
    Points
    14 526
    Par défaut
    pour le vba, tu as les bases expliquée ici :
    http://heureuxoli.developpez.com/office/word/vba-all/

    pas besoin de mettre un paramètre à la procédure ESSAI
    il ne sert à rien si ce n'est pas une procédure appelée directement par le ruban

    oRibbon est déclaré Public
    s'il est dans un module standard (pas attaché à un formulaire), il doit être accessible de partout

  14. #14
    Membre habitué
    Profil pro
    Inscrit en
    Novembre 2010
    Messages
    178
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2010
    Messages : 178
    Points : 175
    Points
    175
    Par défaut
    Bonjour,

    Justement la procédure n'est pas appelée par le ruban.

    1 - Au chargement de l'appli, le ruban est affiché sans le tabCDC qui est en accès limité
    2 - L'utilisateur clique sur le bouton "Responsable centre" ce qui ouvre un formulaire mot de passe.
    3 - L'utilisateur saisi son login + mot de passe et si correct le formulaire appele la procedure ESSAI
    4 - ... le tabCDC s'affiche sur le ruban

    Je pense que oRibbon est bien déclaré en public et il est bien dans un module indépendant à part de tous formulaire.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    Option Compare Database
    Option Explicit
     
    Public oRibbon As IRibbonUI
    Public TabCDCisVisible As Boolean
    Dim rs As DAO.Recordset
    Les procèdures sont également publiques :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
     
    Public Sub ESSAI(control As IRibbonControl)
     
        Debug.Print "ESSAI"
        TabCDCisVisible = True
        oRibbon.InvalidateControl "tabCDC"
     
    End Sub
     
    Public Sub TabCDCGetVisible(control As IRibbonControl, ByRef visible)
     
        visible = TabCDCisVisible
     
    End Sub
     
    Sub RibbonOnLoad(Ribbon As IRibbonUI)
     
        Set oRibbon = Ribbon
     
    End Sub
    Sauf RibbonOnLoad mais j'ai lu dans le tuto que sub seul est par défaut en public.

    Donc la question est :
    comment agir sur le ruban, monté par défaut à l'ouverture de l'application, depuis un formulaire de mot de passe qui est ouvert en "fen modale" OUI et "fen independante" OUI ?

  15. #15
    Expert éminent sénior
    Avatar de Arkham46
    Profil pro
    Inscrit en
    Septembre 2003
    Messages
    5 865
    Détails du profil
    Informations personnelles :
    Localisation : France, Loiret (Centre)

    Informations forums :
    Inscription : Septembre 2003
    Messages : 5 865
    Points : 14 526
    Points
    14 526
    Par défaut
    bjr,

    oRibbon et TabCDCisVisible étant Public dans un module standard, ils sont accessible de partout, y compris depuis le code d'un formulaire

    donc à priori pas besoin de la procéudre ESSAI
    le code :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
        TabCDCisVisible = True
        oRibbon.InvalidateControl "tabCDC"
    peut être placé dans le code de validation de mot de passe du formulaire

    J'essaie de résumer le cheminement du code :
    1 - le ruban se charge => onLoad demande de lancer la procédure RibbonOnLoad et lui donne en paramètre un objet qui est le ruban chargé (Ribbon As IRibbonUI)
    2 - on met cet objet Ribbon (qui est dans un paramètre donc disparaît à la sortie de la procédure) dans oRibbon qui est Public et restera initialisé tant qu'on ne fait pas un arrêt du code (bouton "fin" dans une fenêtre d'erreur de code, ou le bouton carré de la barre d'outils= réinitialiser)
    si on arrête le code avec ses 2 denières méthodes, oRibbon est réinitialiser à vide et on doit relancer l'appli pour le retrouver
    3 - l'onglet demande s'il doit être visible en appelant TabCDCGetVisible => invisible au démarrage
    4 - on clique sur le bouton qui exécute "Sub_Admin03"
    => on ouvre un formulaire qui demande un mot de passe
    5 - si le mot de passe est valide, on peut tout de suite définir TabCDCisVisible à True et demander le raffraîchissement de l'onglet avec oRibbon.InvalidateControl (ou le demander à la procédure ESSAI mais à ce moment il ne faut pas y mettre de paramètre, le ruban est dans oRibbon, pas besoin d'autre information)
    6 - comme on demande le raffraîchissement de l'onglet, TabCDCGetVisible est à nouveau appelé et, TabCDCisVisible étant à True, l'onglet s'affiche

    Je ne vois pas ici pourquoi le formulaire empêcherait l'affichage de l'onglet.

  16. #16
    Membre habitué
    Profil pro
    Inscrit en
    Novembre 2010
    Messages
    178
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2010
    Messages : 178
    Points : 175
    Points
    175
    Par défaut
    YES, c'est nickel ça marche !

    merci beaucoup Arkham46

    Ayant du mal entre les "function, sub, private, public ..." mettre le code directement dans le formulaire ne m'avais pas effleuré l'esprit. Aprés explications cela semble pourtant logique.

    Merci encore pour ton intervention et ta patience - Super

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 0
    Dernier message: 07/12/2013, 17h11
  2. Partage d'un autre calendrier que celui par défaut
    Par bong03 dans le forum VBA Outlook
    Réponses: 1
    Dernier message: 05/07/2007, 17h39
  3. Réponses: 1
    Dernier message: 25/04/2007, 17h45
  4. SELECT DISTINCT avec tri sur un autre champ que celui du distinct
    Par Stephane_br dans le forum Langage SQL
    Réponses: 5
    Dernier message: 09/11/2006, 12h37
  5. Réponses: 9
    Dernier message: 23/12/2005, 13h41

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo