XL 2019 Menu dynamique

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 !

ADS95

XLDnaute Nouveau
Bonjour à tous,

Je sèche sur le problème suivant :
Dans un tableau j'ai ajouté un menu dynamique qui fonctionne très bien lors de la création de nouveaux onglets.
Toutefois, je souhaiterai figer une couleur sur certains boutons pour par exemple Menu reste rouge et Base jaune.
J'ai essayé plusieurs méthodes sans succès.
Fichier joint.
Merci d'avance pour votre aide
 

Pièces jointes

Solution
Bonjour ADS95, le forum

ajoutez une ligne de code pour colorier spécifiquement le bouton Menu ou le bouton base.
VB:
If bouton.TextFrame2.TextRange.Characters.Text = "Menu" Then bouton.OLEFormat.Object.Interior.Color = 255
votre code avec cette modification pour le menu
Code:
Sub sommaireDynamique()

    Dim feuille As Worksheet
    Dim bouton As Shape
    Dim positionY As Integer

    For Each bouton In ActiveSheet.Shapes
        If bouton.Name Like "menu_*" Then
            bouton.Delete
        End If
    Next

    positionY = 4

    For Each feuille In Worksheets

        Set bouton = ActiveSheet.Shapes.AddTextbox(msoTextOrientationHorizontal, 4, positionY, [a1].Width - 8, 30)

        bouton.TextFrame2.TextRange.Characters.Text =...
Bonjour ADS95, le forum

ajoutez une ligne de code pour colorier spécifiquement le bouton Menu ou le bouton base.
VB:
If bouton.TextFrame2.TextRange.Characters.Text = "Menu" Then bouton.OLEFormat.Object.Interior.Color = 255
votre code avec cette modification pour le menu
Code:
Sub sommaireDynamique()

    Dim feuille As Worksheet
    Dim bouton As Shape
    Dim positionY As Integer

    For Each bouton In ActiveSheet.Shapes
        If bouton.Name Like "menu_*" Then
            bouton.Delete
        End If
    Next

    positionY = 4

    For Each feuille In Worksheets

        Set bouton = ActiveSheet.Shapes.AddTextbox(msoTextOrientationHorizontal, 4, positionY, [a1].Width - 8, 30)

        bouton.TextFrame2.TextRange.Characters.Text = feuille.Name

        If feuille.Name = ActiveSheet.Name Then
            bouton.ShapeStyle = msoShapeStylePreset14
        Else
            bouton.ShapeStyle = msoShapeStylePreset13
        End If
        If bouton.TextFrame2.TextRange.Characters.Text = "Menu" Then bouton.OLEFormat.Object.Interior.Color = 255
        feuille.Hyperlinks.Add Anchor:=bouton, Address:="", SubAddress:="'" & feuille.Name & "'!A1"
        bouton.Name = "menu_" & feuille.Name

        positionY = positionY + 30
    Next
End Sub

Bien cordialement, @+
 
- 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

  • Question Question
Réponses
8
Affichages
1 K
Réponses
4
Affichages
2 K
Retour