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

Soyez le premier à donner votre avis sur cette source.

Snippet vu 16 111 fois - Téléchargée 45 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
autodidacte33 Messages postés 10 Date d'inscription mercredi 17 janvier 2007 Statut Membre Dernière intervention 20 juin 2008
21 mars 2008 à 20:27
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..."
vbateam Messages postés 1 Date d'inscription mardi 14 novembre 2006 Statut Membre Dernière intervention 16 novembre 2006
16 nov. 2006 à 17:10
Bonjour, j'aurais voulu savoir comment associer une fonction(simple, je suis débutant)à la nouvelle commande crée?
merci
amri2 Messages postés 4 Date d'inscription lundi 6 mai 2002 Statut Membre Dernière intervention 13 octobre 2003
13 oct. 2003 à 17:31
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.
Morricon Messages postés 41 Date d'inscription lundi 23 décembre 2002 Statut Membre Dernière intervention 1 mars 2007
13 oct. 2003 à 15:25
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 ? !
cs_seblomb Messages postés 36 Date d'inscription dimanche 22 octobre 2000 Statut Membre Dernière intervention 4 avril 2003
24 juil. 2002 à 13:02
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.