Rechercher : dans
Par :

VB couleur bouton sur feuille

Dernière réponse le 28 fév 2009 à 22:50:49 yapuka, le 26 fév 2009 à 23:58:55 
 Signaler ce message aux modérateurs

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

Meilleures réponses pour « VB couleur bouton sur feuille » dans :
[VBA] Collections de classes et collections d’objets VoirCette démo emploi, comme le titre l’indique, des collections différentes. Elle ne comporte que deux séries de cinq contrôles mais peut en gérer beaucoup plus avec le même nombre de lignes de code. Introduction Les contrôles sur une feuille de...
Feuilles de style - CSS VoirPrésentation des feuilles de style Le concept de feuilles de style est apparu en 1996 avec la publication par le W3C d'une nouvelle recommandation intitulée « Cascading StyleSheets » (feuilles de style en cascade), notée CSS. Le principe des...

1

lermite222, le 27 fév 2009 à 09:19:00

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+
L'expérience instruit plus sûrement que le conseil. (André Gide)  
Si tu te cogne à un pot et que ça sonne creux, c'est pas forcément le pot qui est vide. ;-)(Confucius)

Répondre à lermite222

2

yapuka, le 27 fév 2009 à 14:49:53

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"

Répondre à yapuka

3

lermite222, le 27 fév 2009 à 15:04:31

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 L'expérience instruit plus sûrement que le conseil. (André Gide)  
Si tu te cogne à un pot et que ça sonne creux, c'est pas forcément le pot qui est vide. ;-)(Confucius)

Répondre à lermite222

4

yapuka, le 27 fév 2009 à 22:49:42

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 ?

Répondre à yapuka

5

lermite222, le 28 fév 2009 à 00:56:21

Tu a pris un bouton de la boite à outils Formulaire, essaye avec la boite à outils Contrôles.
Ca va aller :-) L'expérience instruit plus sûrement que le conseil. (André G­ide)  
Si tu te cogne à un pot et que ça sonne creux, c'est pas for­cément le pot qui est vide. ;-)(Confucius)

Répondre à lermite222

6

 yapuka, le 28 fév 2009 à 22:50:49

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 !

Répondre à yapuka
Collection CommentÇaMarche.net