Afficher/Masquer un onglet du ruban
RésoluMyrddin02 Messages postés 5 Statut Membre -
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.
5 réponses
-
yg_be Messages postés 23437 Date d'inscription Statut Contributeur Dernière intervention Ambassadeur 1 588
bonjour, peux-tu partager ton fichier?
-
Bien sûr. Le voilà :
Outils PhyChi v4.4.1
https://drive.google.com/file/d/1A5XWVJLFCCA_01XSb8itM5InKilHqygO/view?usp=sharingMerci de prendre le temps de me répondre.
-
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) ?
-
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 SubJ'espère que cela vous sera utile.
Bye.
-
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question -
Et merci à vous d'avoir pris le temps de regarder mon problème.