Bouton qui change de couleur et ou toggle bouton

Bonjour à toutes et à tous,

J'essaie de faire un bouton qui passe du rouge au vert (et inversement)

J'ai trouvé comment faire en "LinkedCell" une cellule et ça affiche un Vrai / Faux) mais pas vraiment ce que je veux.

Auriez vous quelques pistes svp ?

Et cerise sur le gâteau car il y aura 3 boutons comme celui là, est il possible de créer un bouton qui "reset" les 3 boutons en les remettant rouge ?

Merci d'avance pour vos avis, pistes et aides.

Je vous souhaite une bonne journée.

Bonjour wags, le forum,

Un truc du genre....

Cordialement,

Bonjour Xorsankukai,

Pourquoi un truc du genre, un truc comme ça. Parfait.
Désolé, j'ai pas le temps de regarder ce que tu as fait (c'est pas que je veux contrôler, je veux apprendre ;) ) mais je m'y penche ce soir ou demain.

Un très grand merci.

Bonne journée

Bonjour,

J'ai jeté un oeil plus attentif et j'ai compris votre "truc du genre" ;) C'est parfait dans le principe mais niveau design, pas très agréable à mes yeux.
Donc j'ai voulu faire le même principe avec une forme, j'ai trouvé ce code mais j'ai une erreur à la 3ème ligne.

Sub btn_A_1_Click()
  Dim sh As Shape
   Set sh = ActiveSheet.Shapes(Application.Caller)
   If sh.Fill.ForeColor.RGB = RGB(255, 0, 0) Then
        sh.Fill.ForeColor.RGB = RGB(0, 0, 255)
   Else
        sh.Fill.ForeColor.RGB = RGB(255, 0, 0)
  End If
End Sub

Merci d'avance pour votre aide.

Bonne journée

Bonjour

J'avais compris rouge et vert, non ?

@ bientôt

LouReeD

Bonjour wags, LouReeD, le forum,

Un essai.....mais il y a surement moyen de simplifier....

11boutonsv2.xlsm (48.81 Ko)

Cordialement,

Bonjour

Sub LRD
    With ActiveSheet.Shapes(Application.Caller). Fill.ForeColor
        If .RGB = RGB(255, 0, 0) Then Inter =1
       .RGB = RGB(255 * (1- Inter), 255 * Inter, 0)
    End With
End Sub

@ bientôt

LouReeD

Bonjour X !

Je ne peux voir votre proposition... J'arrive peut-être un peu tard...

@ bientôt

LouReeD

Re,

Je ne peux voir votre proposition... J'arrive peut-être un peu tard...

Inutile, ta proposition est parfaite, un seul code pour 3 boutons,

Je ne connaissais pas "Application.Caller" , je regardais du côté des modules de classe, tu m'as évité une grosse prise de tête,

Un grand merci !


[EDIT] petite modif du bouton RAZ suite au dernier post de LouReeD...

9boutons-v3.xlsm (33.90 Ko)

ps: .....je trouve le bleu plus joli que le vert....

Amitiés,

Bonjour…

Pour le Fun

Esthétisme (pour embellir ?) : on peut maquiller avec de Faux Boutons !

20va-et-vient.xlsm (46.76 Ko)

Bonjour à vous,

Tout d'abord un grand merci. C'est parfait.

J'ai même réussi à créer une 2eme colonnes avec d'autres : preuve que j'ai compris le code.

Génial merci.

@Ordonc, je teste votre proposition le temps de passer un coup de fil important.

Merci

Re bonjour,

@Ordonc,

Je viens de tester votre proposition : alors oui c'est top comme ça mais ça va mouliner mon pc (pourtant il en a vu d'autres ;) )
Dès que je clique, ça indique le sablier.

Bref, pas grave, j'ai piqué l'idée graphique ;)

Merci à vous tous pour votre aide précieuse.

Je vous souhaite une bonne journée.

Bonjour @ tous,

Xor, vous pouvez simplifiez votre code d'initialisation en partant du principe que l'on se fiche de savoir si c'est le bouton 1, 2 ou 3, il faut juste que ce soit un bouton dont le nom commence par "btn" :

Private Sub CommandButton2_Click()
    Dim Sh As Shape
    For Each Sh In ActiveSheet.Shapes
        If Left(Sh.Name, 3) = "btn" Then Sh.Fill.ForeColor.RGB = RGB(255, 0, 0)
    Next Sh
End Sub

@ bientôt

LouReeD

Re…

Je n’ignore pas que les Esthéticiens ont très souvent des tarifs prohibitifs !

Mon exemple (gratuit) ne tient pas compte de l’état initial .

Ici ou là, quand il y a surconsommation des évènementielles qui font tourner certains en bourrique, il faut qu'ils se protégent !

Le plus simple, au point de vue programmation, dans l’utilisation des évènementielles est d’ajouter 2 lignes empêchant leur rappel perpétuel bloquant le système :

Private Sub Worksheet_SelectionChange(ByVal R As Range)
  Application.EnableEvents = 0 ‘gestion des évènements mise au repos
…
  Application.EnableEvents = 1 ’gestion des évènements réactivée
End Sub

Un petit fichier :

@ bientôt

LouReeD

Bonjour Ordonc et LouReed (sans oublier ceux qui m'ont aidé pour cette idée ;) ),

Merci pour ce code : effectivement ça semble aller mieux ;)

@LouReed : Ce petit effet change tout. Merci.

Je vous souhaite une bonne journée.

Bonjour

Merci pour vos remerciements !

Et merci à toud pour cette réponse collégiale !

@ bientôt

LouReeD

Rechercher des sujets similaires à "bouton qui change couleur toggle"