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 :

[VBA-E] changement de couleur d'un bouton


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    74
    Détails du profil
    Informations personnelles :
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Mai 2005
    Messages : 74
    Par défaut [VBA-E] changement de couleur d'un bouton
    Bonjour,
    j'ai un bouton placé sur une feuille excel. je souhaite que lorsque l'utilisateur survole le bouton, il change de couleur. J'ai donc placé une image transparente dessous pour pouvoir utiliser les évènements MouseMove de l'image et du bouton.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     Private Sub CommandButton1_MouseMove(ByVal Button As Integer, ByVal Shift As Integer, ByVal X As Single, ByVal Y As Single)
    CommandButton1.BackColor = 4966415
    End Sub
    Private Sub Image1_MouseMove(ByVal Button As Integer, ByVal Shift As Integer, ByVal X As Single, ByVal Y As Single)
    CommandButton1.BackColor = 4966879
    End Sub
    Jusque là tout va bien.
    Le problème est le suivant:
    Si l'utilisateur clique sur l'image transparente, celle-ci s'affiche en premier plan et masque mon bouton. Pour revoir le bouton, je dois alors déplacer le curseur hors de l'image.
    J'ai essayé d'afficher le bouton sur l'évènement onclick de l'image
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    Private Sub Image1_Click()
    ActiveSheet.Shapes("CommandButton1").Select
    Selection.ShapeRange.ZOrder msoBringToFront
    End Sub
    Mais rien n'y fait.
    Je vous laisse mon fichier exemple au cas ou...

    Auriez vous des idées?
    Fichiers attachés Fichiers attachés

  2. #2
    Membre Expert
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    1 567
    Détails du profil
    Informations personnelles :
    Âge : 62
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 1 567
    Par défaut
    perso, je sais en quoi tu a fais ton bouton et ton image, mais j'ai pas trouvé le truc pour les selectionner

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    74
    Détails du profil
    Informations personnelles :
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Mai 2005
    Messages : 74
    Par défaut
    Salut,
    je sais en quoi tu a fais ton bouton et ton image
    Sous excel, j'ai simplement déposé les composant sur une feuille de calcul.
    j'ai pas trouvé le truc pour les sélectionner
    Tu peux utiliser la collection Shapes :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ActiveSheet.Shapes("NomDuComposant").Select
    Pas d'autre idées si non?
    Stos

  4. #4
    Membre Expert
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    1 567
    Détails du profil
    Informations personnelles :
    Âge : 62
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 1 567
    Par défaut
    si, j'en ai une, tu peux tout simplement affecter ta macro a l'image qui se superpose au bouton.

  5. #5
    Membre confirmé
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    74
    Détails du profil
    Informations personnelles :
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Mai 2005
    Messages : 74
    Par défaut
    Par défaut l'image est en arrière plan.
    Au click sur le bouton, j'essaye de remettre le bouton au premier plan, mais rien ne se passe...
    test avec mon fichier si tu veux (cf premier post)

  6. #6
    Membre Expert
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    1 567
    Détails du profil
    Informations personnelles :
    Âge : 62
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 1 567
    Par défaut
    oui, ça change rien, c'est pas stupide ce que je viens de te dire, essaye.
    sur le bouton, tu affecte la macro qui met l'image au premier plan. et a l'image, tu affecte la macro qui doit se réaliser, c'est invisible pour l'utilisateur. quand il passe sur le bouton, il change de couleur, et quand il croit cliquer sur le bouton, en fait il clique sur l'image et il déclenche le mouvement.
    quand tu dis
    Au click sur le bouton, j'essaye de remettre le bouton au premier plan, mais rien ne se passe...
    tu vois bien que c'est incompatible, si le bouton est en arriere plan, tu ne peux pas cliquer dessus, tu clique forcement sur l'image et si au bouton tu affecte la macro qui met l'image au premier plan, tu ne peux pas en meme temps lui affecter celle qui fait action

Discussions similaires

  1. [VBA-E] Changement de couleur d'un point d'une série dans un graphique ?
    Par epfyffer dans le forum Macros et VBA Excel
    Réponses: 6
    Dernier message: 26/02/2020, 11h59
  2. Réponses: 3
    Dernier message: 22/02/2008, 08h48
  3. Pas de changement de couleur d'un bouton.
    Par molo2003 dans le forum C#
    Réponses: 2
    Dernier message: 18/09/2007, 15h59
  4. [VBA-E]Changement de couleur de fond de cellule avec si
    Par fmris dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 26/03/2007, 19h21
  5. [VBA-E] Nom et couleur bouton fonction d'une cellule
    Par zouille dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 03/04/2006, 17h00

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