Ajouter des entrées au menu d'excel (vba)

Soyez le premier à donner votre avis sur cette source.

Snippet vu 15 861 fois - Téléchargée 44 fois

Contenu du snippet

Ce code (VBA) vous permet d'intégrer vos propres commandes dans le menu d'excel.

Source / Exemple :


'Mettre ce code dans un module 

Sub creer_menu()

Set barre = Application.CommandBars("Worksheet Menu Bar").Controls.Add(msoControlPopup, , , , True)
    barre.Caption = "nom_menu"
    
    With barre.Controls.Add(msoControlButton)
      .Caption = "nom_comande"
      .OnAction = "procedure_associee"
    End With
    
    With barre.Controls.Add(msoControlButton)
      .BeginGroup = True
      .Caption = "A propos..."
      .OnAction = "about"
    End With
End Sub
Sub Supprimer_menu()
    Application.CommandBars("Worksheet Menu Bar").Controls("nom_menu").Delete
End Sub

'---------------------------------------------------------------

'Utilisation

Private Sub Workbook_BeforeClose(Cancel As Boolean)
Call Supprimer_menu
End Sub

Private Sub Workbook_Open()
Call creer_menu
End Sub

A voir également

Ajouter un commentaire Commentaires
Messages postés
10
Date d'inscription
mercredi 17 janvier 2007
Statut
Membre
Dernière intervention
20 juin 2008

salut;
c'est très bien mais j'ai écrit le nom de ma macros à:
.OnAction = "MaMacro"
Mais sous excel me signiale "Impossible de trouver la macro..."
Messages postés
1
Date d'inscription
mardi 14 novembre 2006
Statut
Membre
Dernière intervention
16 novembre 2006

Bonjour, j'aurais voulu savoir comment associer une fonction(simple, je suis débutant)à la nouvelle commande crée?
merci
Messages postés
4
Date d'inscription
lundi 6 mai 2002
Statut
Membre
Dernière intervention
13 octobre 2003

oui, on peut choisir l'emplacement:
remplacer la fonction:
Application.CommandBars("Worksheet Menu Bar").Controls.Add(msoControlPopup, , , , True)

par:
Application.CommandBars("Worksheet Menu Bar").Controls.Add(msoControlPopup, , ,before , True)

où before est l'emplacement du menu précedent le votre.
Messages postés
41
Date d'inscription
lundi 23 décembre 2002
Statut
Membre
Dernière intervention
1 mars 2007

Pas mal du tout.. A tu une idée pour placer le nouveau menu là où on le désire..
Pour le moment il se place après le menu ? !
Messages postés
36
Date d'inscription
dimanche 22 octobre 2000
Statut
Membre
Dernière intervention
4 avril 2003

Y a qu'une chose à dire: vraiment excellent!!

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.