Modifier votre barre de menu excel

Contenu du snippet

Ici, ma deuxieme source en VBA.
Il vous permet d'ajouter un nouveau menu à votre barre de menu excel (surement apllicable à Access et toute appli microsoft) avec des sous menus ... qui sont directement associés à vos programme.
Pas de Zip ... juste du code ... copier coller.

Source / Exemple :


'dans ThisWoorkBook ajouter ...
Private Sub Workbook_Open()
Créer_Menu
End Sub

Private Sub Workbook_BeforeClose(Cancel As Boolean)
Effacer_Menu
End Sub

'dans un nouveau module ajouter ...
Function Créer_Menu()

For Z = 1 To CommandBars(1).Controls.Count
If CommandBars(1).Controls(Z).Caption = "Mon Menu Perso" Then Exit Function
Next

With CommandBars(1).Controls.Add(msoControlPopup, before:=10)
    .Caption = "Mon Menu Perso"

    With .Controls.Add(msoControlPopup)
        .Caption = "Menu 1"
        With .Controls.Add(msoControlButton)
            .Caption = "Sous Menu 1.1"
            .OnAction = ""'entre les guillemets : nom de votre procédure
        End With
        With .Controls.Add(msoControlButton)
            .Caption = "Sous menu 2.1"
            .OnAction = ""'entre les guillemets : nom de votre procédure
        End With
        With .Controls.Add(msoControlButton)
            .Caption = "Sous menu 3.1"
            .OnAction = ""'entre les guillemets : nom de votre procédure
        End With
    End With
    '2e Bouton Saisie 
    With .Controls.Add(msoControlPopup)
        .Caption = "Menu 2"
        With .Controls.Add(msoControlButton)
            .Caption = "Sous menu 2.1"
            .OnAction = ""'entre les guillemets : nom de votre procédure
        End With
        With .Controls.Add(msoControlButton)
            .Caption = "Sous menu 2.2"
            .OnAction = ""'entre les guillemets : nom de votre procédure
        End With
    End With
    '3e Boutton 
    With .Controls.Add(msoControlButton)
        .Caption = "Menu 3"
        .OnAction = ""'entre les guillemets : nom de votre procédure
    End With
        
End With
MsgBox "Veuillez lancer les programmes dans la barre de Menu.", vbInformation, "Votre Menu Perso"
End Function

'******************************************************************
Function Effacer_Menu()

Next_Z:
For Z = 1 To CommandBars(1).Controls.Count
If CommandBars(1).Controls(Z).Caption = "Mon Menu Perso" Then
    CommandBars(1).Controls("Mon Menu Perso").Delete
    GoTo Next_Z
End If
Next

'****************************************************************

End Function

Conclusion :


Voila ... c'est pas grand chose ... mais cela pourra servir à quelques personnes ... enfin j'èspere (lol)

Je n'ai pas essayer, mais cela doit etre possible sous toutes les applis microsoft

Bonne Prog

A voir également

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.