Afficher/Masquer un onglet du ruban
RésoluMyrddin02 Messages postés 5 Date d'inscription Statut Membre Dernière intervention -
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.
- Afficher/Masquer un onglet du ruban
- Rouvrir un onglet fermé - Guide
- Afficher appdata - Guide
- Masquer conversation whatsapp - Guide
- Comment masquer les amis sur facebook - Guide
- Comment appeler en masquer - Guide
5 réponses
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=sharing
Merci 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 Sub
J'espère que cela vous sera utile.
Bye.
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question