VB couleur bouton sur feuille

Résolu
Bonjour,
J'ai créé un bouton sur une feuille auquel j'ai affecté une macro, ça marche très bien mais maintenant j'aimerai changer la couleur du fond de ce bouton (simulation bouton cliqué en vert ou rouge).
J'ai vu comment changer la couleur d'un bouton sur une userform, quelqu'un saurait il comment changer la couleur d'un bouton placé directement sur la feuille ?
merci beaucoup

je suis en VB 6.3 et EXCEL 2002
Configuration: Windows XP
Internet Explorer 7.0
VB 6.3
EXCEL 2002

6 réponses

  1. Contributeur
    Bonjour,
    C'est la même chose que dans l'UF sauf que tu doit spécifier la feuille si tu n'est pas dans le module de la feuille.
        'en rouge
        Sheets("Feuil1").CommandButton1.BackColor = 255

    A+
    0
    1. Merci Lermite222, j'ai mis ta ligne de code dans ma macro mais ça ne marche pas. Je pense que c'est le nom de ma macro qui ne va pas avec CommandButton1 ...
      Voici le code de ma macro

      Sub Sélect_durée_7_ans()
      '
      ' Sélect_durée_7_ans Macro
      ' Macro enregistrée le 21/02/2009 par Utilisateur
      '
      Range("d8").Select
      ActiveCell = 7
      Range("h8").Select
      contenu = ActiveCell
      Range("d9").Select
      ActiveCell = contenu
      Sheets("Feuil1").CommandButton1.BackColor = 255
      '
      End Sub

      Quand je lance la macro j'ai : "erreur d'exécution 9, l'indice n'appartient pas à la sélection"
      0
      1. Contributeur
        Bien entendu... Tu doit remplacer Feuil1 par le nom de ta feuille (onglet)
        Et tu peu simplifier par..

        Sélect_durée_7_ans()
        Range("d8") = 7
        Range("d9") = Range("h8")

        Sheets("C'est içi queTuMetLeNomDeTaFeuille").CommandButton1.BackColor = 255
        End Sub
        0
        1. J'ai bien pris en compte tes remarques pour l'affectation des cellules et t'en remercie (c'est plus simple comme ça !) mais en ce qui concerne mon bouton je suis désolé, ça ne marche toujours pas.
          Voici le code remanié

          Sub Sélect_durée_7_ans()
          '
          ' Sélect_durée_7_ans Macro
          ' Macro enregistrée le 21/02/2009 par Utilisateur
          '
          Range("d8") = 7
          Range("d9") = Range("h8")
          Sheets("Général").CommandButton1.BackColor = 255
          '
          End Sub

          Maintenant j'ai :"erreur d'exécution 438, propriété ou méthode non gérée par cet objet"

          Voici quelques constatations que j'ai pu faire :
          Quand je crée un bouton avec UserForm il s'appelle par défaut : CommandButton1
          -----------------------------directement sur la feuille il s'appelle par défaut : Bouton1_QuandClic

          J'ai pris un classeur vierge, sur feuil1 j'ai dessiné un bouton puis ai affecté une macro (j'ai laissé le nom de macro proposé par défaut), voici le code de mes 2 essais :

          Sub Bouton1_QuandClic()
          Sheets("Feuil1").CommandButton1.BackColor = 255
          End Sub

          et

          Sub Bouton1_QuandClic()
          Sheets("Feuil1").Bouton1_QuandClic.BackColor = 255
          End Sub

          ni l'un ni l'autre ne marchent et ils retournent la même erreur 438 !

          D'autre part j'ai vu qu'il était possible sur la feuille de changer la couleur de l'écriture du bouton mais que l'on n'avait pas accés à sa couleur de fond ! ?

          J'ai essayé alors en remplacant BackColor par ForeColor ====> erreur 438

          As tu une solution ? Où est mon erreur ?
          0
          1. Contributeur
            Tu a pris un bouton de la boite à outils Formulaire, essaye avec la boite à outils Contrôles.
            Ca va aller :-)
            0
            1. CA MARCHE !
              Merci à toi Lermite222.
              VB est plein de subtilités qui me dépassent, heureusement qu'il y a le forum "Comment ça marche" pour guider les novices comme moi.
              A bientôt peut être !
              0