IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Macros et VBA Excel Discussion :

Insérer une icone dans le menu contextuel


Sujet :

Macros et VBA Excel

  1. #1
    Futur Membre du Club
    Inscrit en
    Juin 2004
    Messages
    14
    Détails du profil
    Informations forums :
    Inscription : Juin 2004
    Messages : 14
    Points : 7
    Points
    7
    Par défaut Insérer une icone dans le menu contextuel
    Bonjour,

    j'ai insérer un nouveau élément du menu contextuel dans une macro pour excel en utilisant ce code :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    Function MenuCell(stCde As String, stMess As String)
        Dim Mc As CommandBarControls
        Dim Bo As CommandBarButton
     
        Set Mc = CommandBars("Cell").Controls
        Set Bo = Mc.Add(msoControlButton, before:=1, Temporary:=True)
        Bo.Caption = stMess
        Bo.OnAction = stCde
    End Function
    je cherche à insérer une icône d'une ressource pour ma nouvelle entrée mais je n'arrive pas à trouver une solution intéressante.

    Pouvez-vous m'aider ?

    merci d'avance.

  2. #2
    Membre chevronné Avatar de wilfried_42
    Homme Profil pro
    Auto-entrepreneur
    Inscrit en
    Novembre 2006
    Messages
    1 427
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Vendée (Pays de la Loire)

    Informations professionnelles :
    Activité : Auto-entrepreneur
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Novembre 2006
    Messages : 1 427
    Points : 1 900
    Points
    1 900
    Par défaut
    Bonjour

    Voici une macro qui me permet de generer un menu Popup avec des images comme icones (en rouge ce qui te concerne) vois si ca peut t'aider

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    Sub init_bar02()
        Dim sm As Variant, cel As Range, Pict As IPictureDisp
        On Error Resume Next
        CommandBars("bar02").Delete
        On Error GoTo 0
        Set bar_02 = Application.CommandBars.Add("bar02", msoBarPopup)
        Set sm = bar_02.Controls.Add(msoControlButton, 1, , , True)
        With sm
            .Caption = "Pas d'image"
            .Tag = ""
            .OnAction = "bar_02_go"
        End With
        For Each cel In Range("villes")
            Set Pict = stdole.StdFunctions.LoadPicture(cel.Offset(0, 1))
            Set sm = bar_02.Controls.Add(msoControlButton, , , , True)
            With sm
                .Picture = Pict
                .Caption = cel.Value
                .Tag = cel.Value
                .OnAction = "bar_02_go"
                .Style = msoButtonIconAndCaption
            End With
        Next
    End Sub
    Bonne journée
    Wilfried

  3. #3
    Invité
    Invité(e)
    Par défaut
    Bonjour

    Pour les barres de commandes et menu contextuel, voici un article à lire : http://starec.developpez.com/tuto/barrecommande/, je sais c'est sous Access, mais c'est la même bibliothèque qu'Excel.

    Sinon, va faire un tour dans la partie contribution du forum Excel, mon ami Ouskel'n'or a mis d'excellentes contributions pour la réalisation de menus.

    Starec

  4. #4
    Inactif  
    Avatar de ouskel'n'or
    Profil pro
    Inscrit en
    Février 2005
    Messages
    12 464
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 12 464
    Points : 15 543
    Points
    15 543
    Par défaut
    Et tu as même ça pour Excel ici http://www.developpez.net/forums/sho...d.php?t=461562

  5. #5
    Membre confirmé
    Inscrit en
    Janvier 2008
    Messages
    467
    Détails du profil
    Informations forums :
    Inscription : Janvier 2008
    Messages : 467
    Points : 493
    Points
    493
    Par défaut
    Bonjour
    c'est avec La propriété FaceId qu'on peut contrôler l'apparence de l'mage.
    voici un exemple qui montre comment ajouter un bouton au clic droit avec son numéro d'identification (ID) est 331
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    Private Sub Worksheet_BeforeRightClick(ByVal Target As Range, Cancel As Boolean)
            Application.CommandBars("Cell").Reset
            With Application.CommandBars("Cell").Controls.Add
                .Caption = "Nom du Clic Droit"
                .FaceId = 331   cette propriété qui définit le numéro d'identification de l'image 
                .OnAction = "Ta Macro"
            End With
        End Sub
    Bonne journée à tous le monde

    Abed_H

  6. #6
    Futur Membre du Club
    Inscrit en
    Juin 2004
    Messages
    14
    Détails du profil
    Informations forums :
    Inscription : Juin 2004
    Messages : 14
    Points : 7
    Points
    7
    Par défaut
    merci pour toutes ces réponses ... je m'en vais les essayer et lire les articles correspondants.

Discussions similaires

  1. Ajouter une icone dans le menu contextuel
    Par Chri8De dans le forum Windows XP
    Réponses: 3
    Dernier message: 24/09/2012, 23h59
  2. Ajouter une icone dans le menu contextuel de Windows
    Par Baalberith dans le forum Windows
    Réponses: 6
    Dernier message: 01/09/2008, 10h04
  3. [VB.Net] Ajouter une icone dans un menu
    Par developpeur_débutant dans le forum Windows Forms
    Réponses: 2
    Dernier message: 07/11/2006, 22h32
  4. Ajout d'une entrée dans un menu contextuel
    Par olive_le_malin dans le forum Windows Serveur
    Réponses: 1
    Dernier message: 08/06/2006, 08h37
  5. Ajouter une commande dans le menu contextuel
    Par Tenguryu dans le forum C++Builder
    Réponses: 2
    Dernier message: 02/04/2006, 12h43

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo