FRED20000
Messages postés3Date d'inscriptionmercredi 23 février 2005StatutMembreDernière intervention21 novembre 2006
-
15 nov. 2006 à 11:20
FRED20000
Messages postés3Date d'inscriptionmercredi 23 février 2005StatutMembreDernière intervention21 novembre 2006
-
21 nov. 2006 à 10:44
Bonjour,
Je suis sur Vba Excel.
Dans un UserForm, quand je clic gauche sur un CommandButton, j'aimerai faire apparaître un menu personnalisé (style contextuel). Est ce possible car après quelques recherches, je n'ai rien trouvé.
Merci.
mortalino
Messages postés6786Date d'inscriptionvendredi 16 décembre 2005StatutMembreDernière intervention21 décembre 201118 16 nov. 2006 à 02:03
Salut,
(DarkSidious, ne sous-estime pas la force de VBA )
oui, tu peux soit créer un menu style le pavé de visual basic, c-est à dire déplaçable sur l-écran. (désolé, mais je ne sais plus la commande, je regarderai, au cas où).
Sinon, tu peux créer un menu en plus dans excel :
' *** A appeler à l'-ouverture- du
classeur
' Cette procédure doit être placée dans
un module
Sub CreerMenu()
Dim NewMenu As CommandBarPopup
Dim MenuItem As CommandBarControl
' Créer le Menu
Set NewMenu = Application.CommandBars("Worksheet Menu Bar").Controls.Add(msoControlPopup, , , 10, False)
NewMenu.Caption = "Caption de ton menu"
NewMenu.Visible = True
' Créer le
Sous-Menu'''''''''''''''''''''''''''''''''''''''''
Set MenuItem = NewMenu.Controls.Add(msoControlButton) '
'
With MenuItem '
.Caption = "Nom del'action à
effectuer" '
.OnAction = "Nom de la sub à exécuter" '
.BeginGroup = True ' ça
c'est pour faire un trait séparateur
' mais ce n'est pas obligatoire
End With '
'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
Set MenuItem = NewMenu.Controls.Add(msoControlButton) '
'
With MenuItem '
.Caption = "Nom del'action à
effectuer" '
.OnAction = "Nom de la sub à exécuter" '
End With '
'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
' et ainsi de suite...
End Sub
'
*** A appeler à la - fermeture - du classeur
' Cette
procédure doit aussi être placée dans le module
Sub SupprMenu()
On Error Resume Next
Application.CommandBars("Worksheet Menu Bar").Controls("Caption du menu").Delete
End Sub
--Mortalino--
@++
<hr size ="2" width="100%" />
--Mortalino--
Le mystérieux chevalier, "Provençal, le Gaulois"
<!--
FRED20000
Messages postés3Date d'inscriptionmercredi 23 février 2005StatutMembreDernière intervention21 novembre 2006 16 nov. 2006 à 08:59
Quand j'appui sur CommandButton1, j'aimerai faire apparaître un menu personnalisé à un emplacement définit. Le menu personnalisé renvoi à des macros. Ci joint un montage photo sans tenir compte du texte.
Vous n’avez pas trouvé la réponse que vous recherchez ?
Workbook_Deactivate()
Workbook_BeforeClose(Cancel As Boolean)
ou autre, il faut détruire ce menu
Dim Menu
For Each Menu In Application.CommandBars("cell").Controls
If Menu.Tag = "Rechercher" Then Menu.Delete
Next Menu
Et tu peux aussi créer un UserForm sur lequel tu affiches les commandes
que tu veux utiliser. Donc, sur click GAUCHE du bouton, tu affiches ton
UserForm et c'est là que l'utilisateur choisira sa procédure à exécuter.