VB couleur bouton sur feuille

Résolu
yapuka -  
 yapuka -
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
A voir également:

6 réponses

lermite222 Messages postés 8724 Date d'inscription   Statut Contributeur Dernière intervention   1 191
 
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
yapuka
 
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
lermite222 Messages postés 8724 Date d'inscription   Statut Contributeur Dernière intervention   1 191
 
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
yapuka
 
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

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
lermite222 Messages postés 8724 Date d'inscription   Statut Contributeur Dernière intervention   1 191
 
Tu a pris un bouton de la boite à outils Formulaire, essaye avec la boite à outils Contrôles.
Ca va aller :-)
0
yapuka
 
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