Afficher/Masquer un onglet du ruban

Résolu/Fermé
Myrddin02 Messages postés 5 Date d'inscription vendredi 24 février 2023 Statut Membre Dernière intervention 25 février 2023 - 24 févr. 2023 à 09:49
Myrddin02 Messages postés 5 Date d'inscription vendredi 24 février 2023 Statut Membre Dernière intervention 25 février 2023 - 25 févr. 2023 à 09:08

Bonjour tout le monde

Dans Word, j'ai créer des onglets perso dans le ruban et j'aimerais qu'à partir du premier onglet on puisse, grâce à des cases à cocher, afficher ou masquer certains autres onglets (qui prennent de la place) si on ne les utilise pas.

Les onglets s'appellent "Graphiques", "Maths", "Électricité", "Chimie", "Optique", "Mécanique" et "Équations". L'onglet "Graphiques" restera toujours ouvert et contiendra les boutons cases à cocher.

Merci d'avance de votre aide.

A voir également:

5 réponses

yg_be Messages postés 22793 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 18 mai 2024 1 467
24 févr. 2023 à 11:57

bonjour, peux-tu partager ton fichier?

0
Myrddin02 Messages postés 5 Date d'inscription vendredi 24 février 2023 Statut Membre Dernière intervention 25 février 2023
Modifié le 24 févr. 2023 à 13:10

Bien sûr. Le voilà :

Outils PhyChi v4.4.1
https://drive.google.com/file/d/1A5XWVJLFCCA_01XSb8itM5InKilHqygO/view?usp=sharing

Merci de prendre le temps de me répondre.

0
Myrddin02 Messages postés 5 Date d'inscription vendredi 24 février 2023 Statut Membre Dernière intervention 25 février 2023
24 févr. 2023 à 13:12

Désolé, mais je n'arrive pas à partager le lien, il n'apparait pas en souligné.

Est-ce à cause du type de fichier (modèle Word avec macros) ?

0
yg_be Messages postés 22793 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 18 mai 2024 1 467
24 févr. 2023 à 13:57

J'ai le fichier, je vais regarder.  Le lien était simplement mal affiché, peut-être par sécurité.

0
Myrddin02 Messages postés 5 Date d'inscription vendredi 24 février 2023 Statut Membre Dernière intervention 25 février 2023
24 févr. 2023 à 18:46

Bonjour à tous

Bon, ben finalement, après moult recherches, j'ai réussi à trouver une solution. Je la partage avec vous pour ceux que ça intéresserait.

D'abord un extrait de mon fichier XML (je vous mets l'exemple de deux onglets à afficher/masquer) :

<customUI xmlns="http://schemas.microsoft.com/office/2006/01/customui" onLoad="ribbon_Load">
<ribbon startFromScratch="false">

<tabs>
	<tab id="Graphiques" label="Graphiques" visible="true" insertBeforeMso="TabHelp">
		<group id="AfficherOnglets" label="Afficher/Masquer">
		
            <checkBox id="chkMaths" label="Maths" getPressed="getPressed" onAction="toggle_Visibility" />
            <checkBox id="chkElec" label="Electricité" getPressed="getPressed" onAction="toggle_Visibility" />
		
		</group>
	</tab>

	<tab id="Maths" label="Maths" insertBeforeMso="TabHelp" getVisible="getVisible_Maths">
        ...
    </tab>

	<tab id="Electricite" label="Elec" insertBeforeMso="TabHelp" getVisible="getVisible_Elec">
        ...
    </tab>
</tabs>
</ribbon>

Maintenant le code VBA que j'ai regroupé dans un module :

Option Explicit

Public monRuban As IRibbonUI
Public visible_Maths As Boolean
Public visible_Elec As Boolean

' procédure se lançant au chargement du ruban
Sub ribbon_Load(ruban As IRibbonUI)
    Set monRuban = ruban
    visible_Maths = True
    visible_Elec = True
End Sub

' pour rafraichir le ruban
Sub ribbon_Refresh()
    monRuban.Invalidate
End Sub

Sub getVisible_Maths(control As IRibbonControl, ByRef returnedVal)
    returnedVal = visible_Maths
End Sub

Sub getVisible_Elec(control As IRibbonControl, ByRef returnedVal)
    returnedVal = visible_Elec
End Sub

Sub getPressed(control As IRibbonControl, ByRef returnedVal)
    Select Case control.id
        Case "chkMaths"
            returnedVal = visible_Maths
        Case "chkElec"
            returnedVal = visible_Elec
    End Select
End Sub

Sub toggle_Visibility(control As IRibbonControl, pressed As Boolean)
    Select Case control.id
        Case "chkMaths"
            visible_Maths = pressed
            ribbon_Refresh
        Case "chkElec"
            visible_Elec = pressed
            ribbon_Refresh
    End Select
End Sub

J'espère que cela vous sera utile.

Bye.

0
yg_be Messages postés 22793 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 18 mai 2024 1 467
25 févr. 2023 à 08:57

merci

0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Myrddin02 Messages postés 5 Date d'inscription vendredi 24 février 2023 Statut Membre Dernière intervention 25 février 2023
25 févr. 2023 à 09:08

Et merci à vous d'avoir pris le temps de regarder mon problème.

0