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 !

akramenergie

XLDnaute Occasionnel
Bonjour mes amis
j'ai un petit souci sur excel
j'ai créé un menu excel vba qui fait éxecut certain opération.
est ce que il ya un moyen que ce menu s'ajout a la bare menu de mon fichier excel ?????
 
Re : ajouté menu

Bonjour PascalXLD, Akramenergie 🙂,
Si version antérieure à 2007, oui, beaucoup de réponses, dont l'excellente de JCGL dont je n'ai pas retrouvé le fil 😱
Code:
' Macros de JCGL
Sub CréerMenu()
    Dim FeuilleMenus As Worksheet
    Dim MenuDéroulant As CommandBarPopup
    Dim SousMenu As Object
    Dim SousMenuMacro As CommandBarButton
    Dim Ligne As Integer
    Dim NiveauDeMenu, NiveauSuivant, PositionOuMacro, TexteMenu, Séparation, IconeMenu
''''''''''''''''''''''''''''''''''''''''''''''''''''
'   Localisation des données des Menus
    Set FeuilleMenus = ThisWorkbook.Sheets("PourMenus")
''''''''''''''''''''''''''''''''''''''''''''''''''''
'   S'assure que le menu n'existe pas
    Call EffacerMenu
'   Initialise le Ligne
    Ligne = 2
'   Ajoute les menus, sous menus et routines
'   se trouvant dans FeuilleMenus
    Do Until IsEmpty(FeuilleMenus.Cells(Ligne, 1))
        With FeuilleMenus
            NiveauDeMenu = .Cells(Ligne, 1)
            TexteMenu = .Cells(Ligne, 2)
            PositionOuMacro = .Cells(Ligne, 3)
            Séparation = .Cells(Ligne, 4)
            IconeMenu = .Cells(Ligne, 5)
            NiveauSuivant = .Cells(Ligne + 1, 1)
        End With
         Select Case NiveauDeMenu
            Case 1 ' 1 Menu
'              Additionne le menu
                Set MenuDéroulant = Application.CommandBars(1). _
                    Controls.Add(Type:=msoControlPopup, _
                    Before:=PositionOuMacro, _
                    temporary:=True)
                MenuDéroulant.Caption = TexteMenu
 
            Case 2 ' 1 un sous menu
                If NiveauSuivant = 3 Then ' Si sous sous menu
                    Set SousMenu = MenuDéroulant.Controls.Add(Type:=msoControlPopup)
                Else
                    Set SousMenu = MenuDéroulant.Controls.Add(Type:=msoControlButton)
                    SousMenu.OnAction = PositionOuMacro
                End If
                SousMenu.Caption = TexteMenu
                If IconeMenu <> "" Then SousMenu.FaceId = IconeMenu
                If Séparation Then SousMenu.BeginGroup = True
 
            Case 3 ' 1 sous sous menu
                Set SousMenuMacro = SousMenu.Controls.Add(Type:=msoControlButton)
                SousMenuMacro.Caption = TexteMenu
                SousMenuMacro.OnAction = PositionOuMacro
                If IconeMenu <> "" Then SousMenuMacro.FaceId = IconeMenu
                If Séparation Then SousMenuMacro.BeginGroup = True
        End Select
        Ligne = Ligne + 1
    Loop
End Sub
Sub EffacerMenu()
'   Efface Le menu
    Dim FeuilleMenus As Worksheet
    Dim Ligne As Integer
    Dim TexteMenu As String
    On Error Resume Next
    Set FeuilleMenus = ThisWorkbook.Sheets("PourMenus")
    Ligne = 2
    Do Until IsEmpty(FeuilleMenus.Cells(Ligne, 1))
        If FeuilleMenus.Cells(Ligne, 1) = 1 Then
            TexteMenu = FeuilleMenus.Cells(Ligne, 2)
            Application.CommandBars(1).Controls(TexteMenu).Delete
        End If
        Ligne = Ligne + 1
    Loop
    On Error GoTo 0
End Sub
partant d'une feuille de référence exprimant les niveaux de menus.
Par contre, sous 2007, l'utilisation du ruban (à mon grand regret, je l'avoue 😱) n'est pas souvent traité...
A suivre...
Bonne journée 😎
 
- 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

Réponses
3
Affichages
223
Réponses
2
Affichages
217
Réponses
5
Affichages
321
Réponses
7
Affichages
555
Retour