Just for ideas -
Sub CustomBar()
Dim cbr As CommandBar
Dim cbt As CommandBarButton
On Error Resume Next
Application.CommandBars("TestBar").Delete
On Error GoTo 0
Set cbr = Application.CommandBars.Add("TestBar")
Set cbt = cbr.Controls.Add(1)
With cbt
.Style = msoButtonCaption
.Caption = "click for Pop-up"
.Visible = True
.OnAction = "myPopup"
End With
cbr.Position = msoBarFloating
cbr.Visible = True
End Sub
Sub myPopup()
Dim cbr As CommandBar
Dim cbt As CommandBarButton
On Error Resume Next
CommandBars("myPopup").Delete
On Error GoTo 0
Set cbr = Application.CommandBars.Add("myPopup", msoBarPopup, , True)
For i = 80 To 89
Set cbt = cbr.Controls.Add(1, , , , True)
With cbt
.Style = msoButtonIconAndCaption
.Caption = "code " & Chr(i - 15)
.FaceId = i
.Parameter = i - 79
.Visible = True
.OnAction = "myMacro"
End With
Next
On Error GoTo errH
cbr.ShowPopup
done:
cbr.Delete
Exit Sub
errH:
Resume done
End Sub
Sub MyMacro()
Dim cbt As CommandBarButton
Dim sParam As String
Set cbt = Application.CommandBars.ActionControl
sParam = cbt.Parameter
MsgBox "button " & sParam, , cbt.Caption
Select Case sParam
Case "1"
MsgBox "processing code " & sParam
'etc
End Select
End Sub
Regards,
Peter T