J'en une p'tite (que je trouve sympa) en ce beau dimanche :
J'ai un code
VB:
Private Sub UserForm_Initialize()
'With Me.ListBox1
With choix_admin.ListBox1
.AddItem "MACROS"
.AddItem "Macros OUI"
.AddItem "Macros NON"
.AddItem "TRIER"
.AddItem "tri_CltsN°"
.AddItem "tri_Packs"
.AddItem "tri_Prix_Pack"
.AddItem "tri_Clt"
.AddItem "tri_Cx"
End With
End Sub
Private Sub ListBox1_Click()
'Select Case Me.ListBox1.ListIndex
Select Case choix_admin.ListBox1.ListIndex
Case 0 'MACROS
Unload choix_admin
Case 1
MO
Unload choix_admin
Case 2
MN
Unload choix_admin
Case 3 'TRIER
Unload choix_admin
Case 4
tri_CltsN° 'macro_NON
Unload choix_admin
Case 5
tri_Packs
Unload choix_admin
Case 6
tri_Prix_Pack
Unload choix_admin
Case 7
tri_Clt
Unload choix_admin
Case 8
tri_Cx
Unload choix_admin
Unload choix_admin
End Select
End Sub
J'aimerais que ça s'affiche comme ci-dessous (décaler les .AddItem actifs pour les cases affectées à un code exécutable) :
A réfléchir... je n'ai pas trouvé comment faire.
Si besoin, je ferai un fichier test.
Je continue mes recherches...
Merci d'avance,
Amicaklement,
lionel
Private Sub Toolbar1_ButtonClick(ByVal Button As MSComctlLib.Button)
MsgBox Button.Caption
Select Case Button.Caption
Case "MACROS"
Case "TRIER"
End Select
End Sub
Private Sub Toolbar1_ButtonMenuClick(ByVal ButtonMenu As MSComctlLib.ButtonMenu)
MsgBox ButtonMenu.Text
Select Case ButtonMenu.Text
Case "tri_CltsN°"
Case "tri_Packs"
Case "tri_Prix_Pack"
Case "tri_Clt"
Case "tri_Cx"
End Select
End Sub
Private Sub UserForm_Initialize()
With Me.Toolbar1
.Style = tbrFlat
With .Buttons
.Add Caption:="MACROS", Style:=tbrDropdown
.Add Caption:="TRIER", Style:=tbrDropdown
With .Item(1)
.ButtonMenus.Add Text:="Macros OUI"
.ButtonMenus.Add Text:="Macros NON"
End With
With .Item(2)
.ButtonMenus.Add Text:="tri_CltsN°"
.ButtonMenus.Add Text:="tri_Packs"
.ButtonMenus.Add Text:="tri_Prix_Pack"
.ButtonMenus.Add Text:="tri_Clt"
.ButtonMenus.Add Text:="tri_Cx"
End With
End With
End With
End Sub