|
Publicité | ||||||||||||||||||||||
|
|
#1 |
|
Candidat au titre de Membre du Club
![]() Date d'inscription: janvier 2010
Messages: 20
|
Bonjour,
Je suis un peu embêté car je n'arrive pas à insérer un menu dans la barre d'excel, juste après "Help". Je l'avais fait sur un ancienne version d'excel et je n'arrive pas à mettre la main dessus et comme c'est pas quelque chose que je ne fais pas souvent, je suis dans la panade. A dire vrai je l'avais "pompé" quelque part d'où et sans chercher à vraiment comprendre. Ca doit se mettre automatiquement dans la barre à l'ouverture du fichier. Merci A+ |
|
|
|
|
|
#2 |
|
Expert Confirmé Sénior
![]() Date d'inscription: septembre 2004
Localisation: Paris
Âge: 54
Messages: 2 493
|
Bonjour,
A mettre dans un module, mais c'est pour Excel 2002. Code :
Sub auto_open() ajouteMenu "Menu", _ Array("Item..."), _ Array("Macro1"), _ Array(1753) End Sub Private Sub Workbook_BeforeClose(Cancel As Boolean) ' arg : nom du menu à effacer (chaine) effaceMenu "Nom d&u menu" End Sub Sub ajouteMenu(ByVal MenuName As String, _ ByVal tItems As Variant, _ ByVal tLinks As Variant, _ ByVal tTTText As Variant) Dim myMenu As CommandBar Dim newMenu As CommandBarControl Dim subMenu As CommandBarControl Dim ctl As CommandBarControl Dim Value As Variant Dim i As Long, j As Long Set myMenu = CommandBars.ActiveMenuBar Set newMenu = myMenu.Controls.Add(Type:=msoControlPopup, Before:=9, temporary:=True) newMenu.Caption = MenuName For Each Value In tItems If IsArray(Value) Then 'cas d'un sous menu Set subMenu = newMenu.Controls.Add(Type:=msoControlPopup, temporary:=True) subMenu.Caption = Value(0) For j = 1 To UBound(Value) Set ctl = subMenu.Controls.Add(Type:=msoControlButton) ctl.Caption = Value(j) ctl.Style = msoButtonIconAndCaption ctl.OnAction = tLinks(i)(j) ctl.FaceId = CLng(tTTText(i)(j)) Next j Else 'cas d'un menu Set ctl = newMenu.Controls.Add(Type:=msoControlButton) If Left(Value, 1) = "-" Then ctl.BeginGroup = True ctl.Caption = Mid(Value, 2) Else ctl.Caption = Value End If ctl.Style = msoButtonIconAndCaption ctl.OnAction = tLinks(i) ctl.FaceId = CLng(tTTText(i)) End If i = i + 1 Next Value End Sub Sub effaceMenu(ByVal MenuName As String) Dim myMenu As CommandBar On Error Resume Next Set myMenu = CommandBars.ActiveMenuBar myMenu.Controls(MenuName).Delete End Sub
__________________
Par principe, je ne réponds pas aux messages URGENT. Il n'y a pas de choses urgentes, il n'y a que des choses en retard. (un inconnu) |
|
|
|
|
|
#3 |
|
Candidat au titre de Membre du Club
![]() Date d'inscription: janvier 2010
Messages: 20
|
Salut PC75,
Ça marche super mais, et il y a tjr un mais, je n'ai pas vraiment saisi à quoi correspond le chiffre "1753" dans Code :
Sub auto_open() ajouteMenu "Menu", _ Array("Item..."), _ Array("Macro1"), _ Array(1753) End Sub Explique si tu veux bien-entendu ! Merci, c'est sympa A+
|
|
|
|
|
|
#4 |
|
Expert Confirmé Sénior
![]() Date d'inscription: septembre 2004
Localisation: Paris
Âge: 54
Messages: 2 493
|
Re,
Ca correspond au "FaceId", c'est à dire l'icone qui s'affiche à gauche de l'item du menu. ftp://ftp-developpez.com/fring/vba/e...eid/faceid.pdf
__________________
Par principe, je ne réponds pas aux messages URGENT. Il n'y a pas de choses urgentes, il n'y a que des choses en retard. (un inconnu) |
|
|
|
|
|
#5 |
|
Candidat au titre de Membre du Club
![]() Date d'inscription: janvier 2010
Messages: 20
|
re,
Voilà pourquoi je t'ai posé la question, il n'y a rien qui s'affiche chez moi, pb de version Excel PC MAc peut-être, enfin je note. Merci pour les conseils c'est déjà plus clair dans mon fichier. A+ |
|
|
|
|
|
![]() |
||
[XL-MAC 2004] Ajout menu dans Barre d'excel
|
||
| Outils de la discussion | |
|
|