Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

XL 2016 Ruban personnalisé

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

Madmax33

XLDnaute Nouveau
Bonjour à tous,
Je reviens vous voir au sujet de-là personnalisation du ruban.
J'ai créé mon ruban à l'aide de l'outil magique de P. TOULON et il fonctionne.
Je voudrais pousser le bouchon plus loin, sachant que j'ai 3 feuilles différentes et que mon ruban est découpé en 3 zones.
Je voudrais que les 2 zones de mon ruban qui ne sont pas concernées par la feuille active soient cachées ou grisées.
Faisable, pas faisable ??
Je bute avec le getVisible.
je vais essayer de mettre mon code en texte car mon xlsm est trop gros.
Merci
 
bonjour
bien sur que le visible d'un onglet ou d'un group ou de n'importe quel element peut être dynamique en fonction de la feuille active

donne moi juste le code xml du projet (le fichier exemple.xml) que tu a créé avec mon app
et dis moi quelle élément est sensé être visible/invisible en fonction de quelle feuille
 
comme ca vite fait un exemple
c'est un switcch group
les labels des groupe sont dynamiques aussi et prennent le nom de la feuille


le code xml du projet

XML:
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<customUI azerty="http://schemas.microsoft.com/office/2009/07/customui" onLoad="CustomUIOnLoad">
    <!--CreatorRibbonX imageMso 2023 Version 4.9.9.3.8developed BY patricktoulon-->
    <!--project Ribbon name :switch groupByActivesheet-->
    <ribbon startFromScratch="false">
        <tabs>
            <tab id="tab_1" label="MES OUTILS PERSOS" insertBeforeQ="TabHome">
                <group id="group_0" getVisible="group_0_getVisible" imageMso="PageSetupSheetDialog" getLabel="group_0_getLabel" autoScale="true">
                    <button id="button_1" onAction="button_1_Click" size="large" label="bouton 1" tag="bouton 1" imageMso="AboveText"/>
                    <button id="button_2" onAction="button_2_Click" label="bouton 2" tag="bouton 2" imageMso="QueryBuilder" size="large"/>
                    <separator id="separator_1"/>
                    <button id="button_3" onAction="button_3_Click" label="bouton 3" tag="bouton 3" imageMso="MacroConvertMacrosToVisualBasic" size="large"/>
                    <button id="button_4" onAction="button_4_Click" label="bouton 4" tag="bouton 4" imageMso="SaveAll" size="large"/>
                    <dialogBoxLauncher>
                        <button id="button_dialBoxlaunchergroup_0" onAction="button_dialBoxlaunchergroup_0_Click"/>
                    </dialogBoxLauncher>
                </group>
                <group id="group_1" imageMso="PageSetupSheetDialog" getLabel="group_1_getLabel" getVisible="group_1_getVisible" autoScale="true">
                    <button id="button_5" onAction="button_5_Click" label="bouton 5" tag="bouton 5" imageMso="KeepServerVersion" size="large"/>
                    <button id="button_6" onAction="button_6_Click" label="bouton 6" tag="bouton 6" imageMso="ResourceDetailsDisplay" size="large"/>
                    <separator id="separator_2"/>
                    <button id="button_7" onAction="button_7_Click" label="bouton 7" tag="bouton 7" imageMso="PageColorPicker" size="large"/>
                    <button id="button_8" onAction="button_8_Click" label="bouton 8" tag="bouton 8" imageMso="NameUseInFormula" size="large"/>
                    <dialogBoxLauncher>
                        <button id="button_dialBoxlaunchergroup_1" onAction="button_dialBoxlaunchergroup_1_Click"/>
                    </dialogBoxLauncher>
                </group>
                <group id="group_2" imageMso="PageSetupSheetDialog" getLabel="group_2_getLabel" getVisible="group_2_getVisible" autoScale="true">
                    <button id="button_9" onAction="button_9_Click" label="bouton 9" tag="bouton 9" imageMso="TableAutoFormatStyle" size="large"/>
                    <button id="button_10" onAction="button_10_Click" label="bouton 10" tag="bouton 10" imageMso="SaveAsAccessTemplate" size="large"/>
                    <button id="button_11" onAction="button_11_Click" label="bouton 11" tag="bouton 11" imageMso="VideoDesignResetAndSize" size="large"/>
                    <separator id="separator_3"/>
                    <button id="button_12" onAction="button_12_Click" label="bouton 12" tag="bouton 12" imageMso="ReadingViewResearchPane" size="large"/>
                    <button id="button_13" onAction="button_13_Click" label="bouton 13" tag="bouton 13" imageMso="ObjectGallery" size="large"/>
                    <dialogBoxLauncher>
                        <button id="button_dialBoxlaunchergroup_2" onAction="button_dialBoxlaunchergroup_2_Click"/>
                    </dialogBoxLauncher>
                </group>
            </tab>
        </tabs>
    </ribbon>
</custo
voila 😉
 

Pièces jointes

Dernière édition:
Bonsoir le forum, bonsoir madmax, bonsoir Patricktoulon
merci madmax pour cette bonne idée, merci aussi pour ta réponse patricktoulon je vais utiliser ton code xml
pour l'adapter un mon projet seulement une question, Patrick est ce possible d'inserer un bouton sur mon ruban réalisé a l'aide "Custom UI editor" pour faire appel un UserForm
Merci madmax Merci patrick
Cordialement
 
re
bonjour
ben bien sur
tu fait ce que tu veux dans le callback du bouton (y compris appeler un userform)
 
re
exemple 4 boutons formulaire pour 4 userform
1 seul callback
le code xml
XML:
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<customUI xmlns="http://schemas.microsoft.com/office/2009/07/customui" onLoad="CustomUIOnLoad">
    <!--CreatorRibbonX imageMso 2023 Version 4.9.9.3.8developed BY patricktoulon-->
    <!--project Ribbon name :boutoncalluserform-->
    <ribbon startFromScratch="false">
        <tabs>
            <tab id="tab_1" label="MES FORMULAIRES">
                <group id="group_0" label="bouton userform">
                    <button id="button_1" onAction="onAction_clickMultipleButton1" label="formulaire 1" tag="1" size="large" imageMso="AccessFormWizard"/>
                    <separator id="separator_1"/>
                    <button id="button_2" onAction="onAction_clickMultipleButton1" label="formulaire 2" tag="2" size="large" imageMso="EditLabel"/>
                    <separator id="separator_2"/>
                    <button id="button_3" onAction="onAction_clickMultipleButton1" label="formulaire 3" tag="3" size="large" imageMso="LegendInsertGallery"/>
                    <separator id="separator_3"/>
                    <button id="button_4" onAction="onAction_clickMultipleButton1" label="formulaire 4" tag="4" size="large" imageMso="JotHideBodyText"/>
                </group>
            </tab>
        </tabs>
    </ribbon>
</customUI>

le code des callback

VB:
'callback created by [[''creatorRibbonX'']]
'[createRibbonX Application] created by (''patricktoulon'')
'Version 2023  4.9.9.X.X
'POUR MEMO 4 fonctions importantes à connaitre pour les controls dynamiques
'L 'objet IRibbonUI possède 4 méthodes :
'1° myribbon.Invalidate() qui actualise en une seule fois tous les contrôles personnalisés du classeur.
'2° myribbon.InvalidateControl("Id du control") qui actualise un contrôle particulier (ControlID correspond à l'identificateur unique du contrôle).
'3° myRibbon.ActivateTab ("id de l'onglet à activer")qui active l'onglet désigné par son ID dans les parenthèses
'4° myRibbonInvalidateControlMso ("Id de l'element"(onglet/group/control) )qui actualise  l'element désigné par son ID dans les parenthèses



'Nom du projet:[C:\Users\patricktoulon\Desktop\CreatorRibbonX V4.9 et V5.0\creatorRibbonX 4.9.9.X\Project_boutoncalluserform\exemple.xml]
'créé le:[07/11/2023]
'l'event ribbon onLoad
Public myRibbon As IRibbonUI    ' {Variable pour l'object ribbon}

'Callback for customUI.onLoad
Sub CustomUIOnLoad(ribbon As IRibbonUI)
    Set myRibbon = ribbon
End Sub


'procedure {onAction} du bouton [ID:''button_1''  Label:''formulaire 1'']'dans le parent [group_0''  Label:''bouton userform'']
Sub onAction_clickMultipleButton1(control As IRibbonControl)
    Select Case control.Tag
    Case 1: UserForm1.Show
    Case 2: UserForm2.Show
    Case 3: UserForm3.Show
    Case 4: UserForm4.Show
    End Select
End Sub
voila 4 bouton dans un onglet perso en size large et icon excel

après perso a moins que tu sois un cador en xml customUI je vois pas pourquoi utiliser customUI editor
alors que je vous ai fait une app en français qui ne nécessite aucune connaissance en codage xml, elle fait tout pour toi ; juste quelques clicks et texte tapé dans des textbox
 

Pièces jointes

- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…