Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

Mise en forme dans menu contextuel

  • Initiateur de la discussion Initiateur de la discussion ludozebest
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

ludozebest

XLDnaute Nouveau
Bonjour,

Dans un fichier, j'ai le code suivant afin d'ajouter l'execution d'une macro à partir du menu contextuel d'excel :

Code:
With Application.CommandBars("Cell").Controls.Add(msoControlButton)
    .Caption = "Appel à annuler"
    .BeginGroup = True
    .OnAction = "Macro"
   End With

J'ai deux questions :
1. Est-il possible d'ajouter une icone autre qu'un faceid
2. Est-il possible de modifier la couleur/ le fond des caractères pour "Appel à annuler"

Merci pour vos réponses,

LL
 
Re : Mise en forme dans menu contextuel

Salut,pour 2 je pense que non, pour 1 si une image a été chargée dans feuil1 et qu'elle s"appelle Picture 850 par exemple
Code:
With Application.CommandBars("Cell").Controls.Add(msoControlButton)
    .Caption = "Appel à annuler"
    .BeginGroup = True
    .OnAction = "Macro"
    Feuil1.Shapes("Picture 850").Copy
    .PasteFace
End With
 
Dernière édition:
Re : Mise en forme dans menu contextuel

Merci pour ta réponse kiki,
Ca donne l'effet que j'espérais.

Cependant, il y a un petit hic :

Lorsque je travaille sur la feuille excel, j'ai l'impression qu'il garde l'image "Picture 850" en mémoire et dès que je veux faire un copier-coller, il colle l'image là où je veux veux faire un collage... 😕.

Y-a-t'il un moyen de résoudre ce pb ?

LL
 
Re : Mise en forme dans menu contextuel

Bonjour à tous,

comprends pas trop, car si avant de faire ton "coller" tu fais un "copier", en pure logique le contenu du presse-papier est remplacé....

bonne journée
@+
 
Re : Mise en forme dans menu contextuel

Re,

Remarque on peut vider le presse papier après le collage de l'image... modifie ainsi :

Code:
'activer la reference Microsoft Forms 2.0 Object Library
Dim x As New DataObject
With Application.CommandBars("Cell").Controls.Add(msoControlButton)
    .Caption = "Appel à annuler"
    .BeginGroup = True
    .OnAction = "Macro"
    Feuil1.Shapes("Picture 850").Copy
    .PasteFace
End With
x.SetText ""
x.PutInClipboard

n'oublie pas d'activer la référence Microsoft Forms 2.0 Object Library. Dans l'éditeur vba => barre de menu => outils => références
 
Re : Mise en forme dans menu contextuel

Merci pierrot pour tes indications.😉

Et effectivement, lorsque je fais un "copier" avant le "coller" ça marche normallement.
C'est juste lorsque je fesais un coller directement après le lancement de la macro qu'il me recollait l'image...😀
 
Re : Mise en forme dans menu contextuel

Salut,Effectivement il y a ce probleme, une autre approche pour effacer le clipboard
Ajouter dans un module
Code:
Option Explicit

Public Declare Function OpenClipboard Lib "user32" (ByVal hwnd As Long) As Long
Public Declare Function EmptyClipboard Lib "user32" () As Long
Public Declare Function CloseClipboard Lib "user32" () As Long
 
Sub EffacerPP()
    OpenClipboard (0&)
    EmptyClipboard
    CloseClipboard
End Sub

Code:
With Application.CommandBars("Cell").Controls.Add(msoControlButton)
    .Caption = "Appel à annuler"
    .BeginGroup = True
    .OnAction = "Macro"
    Feuil1.Shapes("Picture 850").Copy
    .PasteFace
End With
EffacerPP
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Réponses
15
Affichages
2 K
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…