commandbar perso VS customUI

bérylion

XLDnaute Occasionnel
salut la foule,

j'ai besoin d'une combobox dans le menu contextuel ("Workbook Tabs")
ca je sais faire en vba et ça fait le job.
VB:
' dans le module ThisWorkBook
' c'est juste pour l'exemple, en vrai c'est un peu plus court 
' pour etre seulement sur qq classeurs particuliers qui sont "marqués" 

Public WithEvents xlapp As Application

Private Sub Workbook_Open()
  Set xlapp = Application
End Sub

Private Sub xlapp_SheetActivate(ByVal Sh As Object)
UpdatePersoCb Sh.Parent
End Sub

Private Sub xlapp_WorkbookActivate(ByVal Wb As Workbook)
  UpdatePersoCb Wb
End Sub

Sub UpdatePersoCb(ByVal Wb As Workbook)
  Set cb = Application.CommandBars("Workbook tabs")
  With cb
    .Reset
    With .Controls.Add(4, , , 1, True)
      .OnAction = "testcb1"
      For Each Sh In Wb.Sheets
        .AddItem Sh.Name
      Next
    End With
  End With
End Sub

Sub testcb1()
   ActiveWorkbook.Sheets(CommandBars.ActionControl.Text).Activate
End Sub

mon problème est que ce n'est pas cette commandbar qui est appelée lors du clic droit
sur les fleches de déplacement entre les feuilles (en bas à gauche pour ceux qui cherchent),
mais le <contextMenu idMso="ContextMenuWorkbook"> du ruban.
et cette sale bete n'accepte pas l'ajout de controls type combobox...

qqn sait comment remplacer l'appel de ce menu contextuel
par la bonne vieille CommandBars("Workbook tabs") ??

a vot bon coeur !...
 

Discussions similaires

Statistiques des forums

Discussions
312 302
Messages
2 087 039
Membres
103 439
dernier inscrit
julienpipiou