Modifier votre barre de menu excel

Soyez le premier à donner votre avis sur cette source.

Snippet vu 32 557 fois - Téléchargée 33 fois

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

Ajouter un commentaire Commentaires
Messages postés
10
Date d'inscription
lundi 27 mars 2006
Statut
Membre
Dernière intervention
15 juillet 2008

Ok, et merci!

Vive les forums!!

Bonne journée!
Messages postés
214
Date d'inscription
mercredi 2 février 2005
Statut
Membre
Dernière intervention
9 avril 2010
4
Salut,
tu crée une fonction
Function ColoriseParExemple()
ActiveCell.Interior.ColorIndex = 9 ' par exemple
End Function

Et tu applique la fonction, a OnAction du sous menu

A Plus
Messages postés
10
Date d'inscription
lundi 27 mars 2006
Statut
Membre
Dernière intervention
15 juillet 2008

Bonjour,

Super et cela fonctionne bien!

Mais n'ayant que peut l'habitude en vba, comment tu associe une action (exemple colorier une cellule) suite au clic sur par exempel : Sous menu 1.1??

D'avance merci bàt
Messages postés
214
Date d'inscription
mercredi 2 février 2005
Statut
Membre
Dernière intervention
9 avril 2010
4
Salut ...
des info bulles dans la barre de menu... je ne crois pas . Mais cela ne coute rien d'essayer

Pour ce qui est du message dans la barre du stattu ... tout est possible !
tu peux la modifier à chaque fois que tu effectue une action avec une macro.
je n'ai plus le code sous les yeux, mais il me semble que c'est un truc dans ce genre :


Application.StatusBar = "Mon nouveau Statu ... Coucou ..." 'Changer le statu
Application.StatusBar = False ' réinitialiser le statu
Application.DisplayStatusBar = False 'Cache la barre de statu
Application.DisplayStatusBar = True 'affiche la barre de statu

Chapat'
Messages postés
4
Date d'inscription
vendredi 1 octobre 2004
Statut
Membre
Dernière intervention
23 mai 2006

C'est très clair, Merci !

Est-il possible d'ajouter des Info-Bulles ? .ControlTipText
ou encore un message dans la barre de tache ? .StatusBar

Merci
Greg
Afficher les 9 commentaires

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.