OVH Cloud OVH Cloud

Retirer un contrôle (macro) du menu contextuel

1 réponse
Avatar
Blaise
Bonjour,

J'ai ajout=C3=A9 un point au menu contextuel, mais plusieurs fois avant que=
je constate ma bourde.

Et l=C3=A0, je suis bloqu=C3=A9 car je n'arrive pas =C3=A0 l'enlever.
la m=C3=A9thode .Remove n'est pas reconnue

Cordialement
(le code d'ajout)

Sub AjouteSwap()
If MsgBox("Es-tu certain de vouloir mettre 'Swap' dans le menu contextu=
el ?", vbYesNo + vbCritical + vbDefaultButton2, "SWAP") <> vbYes Then
Exit Sub
Else

'Ajoute la proc=C3=A9dure Swap dans le menu contextuel d'une cellul=
e
Dim Cbut As CommandBarButton
Dim MaBarre As CommandBar

'on d=C3=A9termine la command bar que l'on veux modifier
Set MaBarre =3D Application.CommandBars("cell")
'on y ajoute un bouton "toto"
Set Cbut =3D MaBarre.Controls.Add(Type:=3DmsoControlButton)
With Cbut
.FaceId =3D 1377 'voir la liste sur http://fring.developpe=
z.com/vba/excel/faceid/
.Caption =3D "Swap" 'label du bouton
.OnAction =3D "Swap" 'appel =C3=A0 sa macro associ=C3=A9e
End With

'=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D
End If
End Sub

1 réponse

Avatar
MichD
Bonjour,
Pour retrouver le menu contextuel par défaut c'est-à-dire d'enlever toutes les commandes
personnalisées que tu lui as ajoutées, il y a cette ligne de commande :
Application.CommandBars("cell").Reset
Si tu veux faire disparaître seulement la commande "Commande 1" que tu as ajouté au menu
contextuel, il y a ceci :
Application.CommandBars("Cell").Controls("Commande 1").Delete
MichD