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.
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 !...
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 !...