Bouton couleur

bonjour a tous et toutes

tout d'abord merci a tous pour vos aides précieuses. Comme vous allez vous en apercevoir mes connaissances sont très limitées et je me heurte souvent à des problèmes. toutefois au fil de l'eau j'essaie de comprendre et ainsi de m'améliorer

mon problème et que j'ai crée trois boutons par: développeur / insérer / bouton de formulaire

j'aurais besoin que lorsque l'on clique sur un de ces boutons le bouton passe en rouge car il s'agit d'in fichier d'urgence et avec le stress des appels j'ai besoin de savoir ce qui a été validé par l'hôtesse

j'ai donc insérer ma macro

Sub explosion_Cliquer()

Range("D15") = "Oui"

CommandButton1.BackColor = RGB(0, 0, 240)

CommandButton2.BackColor = RGB(0, 240, 0)

CommandButton3.BackColor = RGB(0, 0, 240)

End Sub

Sub physique_Cliquer()

Range("E15") = "Non"

CommandButton1.BackColor = RGB(0, 240, 0)

CommandButton2.BackColor = RGB(0, 0, 240)

CommandButton3.BackColor = RGB(0, 0, 240)

End Sub

Sub autre_Cliquer()

Range("F15") = "autre"

CommandButton1.BackColor = RGB(0, 0, 240)

CommandButton2.BackColor = RGB(0, 0, 240)

CommandButton3.BackColor = RGB(0, 240, 0)

End Sub

à priori je dois avoir un problème couleur car rien ne se passe donc si quelqu'un a une idée..

merci a tous

Salut Charly

Plutôt que d'insérer des "Boutons (contrôle de formulaire)", insère trois "Boutons (Contrôle Active X)".

Une fois que c'est fais, clic droit sur l'onglet de ta feuille où tu a insérer tes Boutons et clic sur "visualiser le code"

Insère ensuite le code ci-dessous :

Private Sub CommandButton1_Click()
Range("D15") = "Oui"
CommandButton1.BackColor = RGB(0, 0, 240)
CommandButton2.BackColor = RGB(0, 240, 0)
CommandButton3.BackColor = RGB(0, 0, 240)
End Sub

Private Sub CommandButton2_Click()
Range("E15") = "Non"
CommandButton1.BackColor = RGB(0, 240, 0)
CommandButton2.BackColor = RGB(0, 0, 240)
CommandButton3.BackColor = RGB(0, 0, 240)
End Sub

Private Sub CommandButton3_Click()
Range("F15") = "autre"
CommandButton1.BackColor = RGB(0, 0, 240)
CommandButton2.BackColor = RGB(0, 0, 240)
CommandButton3.BackColor = RGB(0, 240, 0)
End Sub

Nous restons à ta dispo

Bonjour Charly, bonjour le forum,

mon problème et que j'ai crée trois boutons par: développeur / insérer / bouton de formulaire

Utilise les même boutons mais issues de la boîte à outils : Controles ActiveX plutôt que Contrôles de formulaire. Tes problèmes seront résolus...

[Édition]

Bonjour juice, nos posts se sont croisés...

Bonjour,

Les lignes

CommandButton1.BackColor = RGB(0, 0, 240)
CommandButton2.BackColor = RGB(0, 240, 0)
CommandButton3.BackColor = RGB(0, 0, 240)

Sont bonnes pour moi.

Il n'y a que deux problèmes possibles que tu peux vérifier de la façon suivante :

Mets un point d'arrêt sur chaque debut de programme (onglet débogage), si quand tu appuies sur tes boutons rien ne se passe, il faut que tu vérifies que les noms de tes programmes soient bien les noms de tes boutons de commande.

Si ça appelle le programme, il reste ensuite à vérifier la valeur de ton Range pour voir si il a bien la valeur attendue ou non, fais attention avec les Range, ils vont chercher la valeur dans la feuille active si tu ne leur précise pas de feuille, si tu veux aller chercher la donnée dans une autre feuille il faut faire

Sheets("feuille exemple").Range("A1")

Merci de me dire si avec ça tu arrives à deboguer ton programme

EDIT: vérifier aussi ce que propose l'autre membre du forum avant de tester ça

Bonjour,

La couleur des boutons de formulaire est liée au paramétrage général des boutons de Windows et ne peut donc pas être personnalisée pour une application.

Une première solution est comme indiqué ci-dessus d'insérer des boutons de contrôle ActiveX auquel cas ton code est à rattacher à la feuille où sont placés tes boutons.

Une deuxième solution est d'insérer 3 formes de ton choix via le menu "Outils Dessin" qui apparait en haut si on insère un bouton de formulaire ou une zone de texte.

Si par exemple, la forme s'appelle "Ellipse 1" et est située sur "Feuil1", le code à appliquer est celui-ci :

    With Sheets("Feuil1").Shapes("Ellipse 1")
        .Fill.ForeColor.RGB = vbRed
        .Fill.ForeColor.RGB = vbGreen
        .Fill.ForeColor.RGB = vbBlue
    End With

Bonjour, Salut à tous !

Tu parles de basculer la couleur du bouton cliqué au rouge, en fait tu la passes en vert, les autres étant bleus... mais quel que soit le choix des couleurs voici un modèle avec 3 boutons ActiveX pour faire passer le bouton cliqué au vert, les deux autres revenant au bleu, le changement de couleur étant opéré par une seule macro lancée selon le cas par l'un des 3 boutons...

J'y ai ajouté le changement de valeurs de cellules que tu opères, par chacun des boutons (lequel aurait toutefois pu être opéré par la même macro).

Sub CouleursBoutons(n As Integer)
    Dim clr, i%
    clr = Array(0, RGB(0, 0, 240), RGB(0, 0, 240), RGB(0, 0, 240))
    clr(n) = RGB(0, 240, 0)
    For i = 1 To 3
        Me.OLEObjects("CommandButton" & i).Object.BackColor = clr(i)
    Next i
    Me.Range("D15:F15").ClearContents
End Sub

Private Sub CommandButton1_Click()
    CouleursBoutons 1
    Me.Range("D15") = "Oui"
End Sub

Private Sub CommandButton2_Click()
    CouleursBoutons 2
    Me.Range("E15") = "Non"
End Sub

Private Sub CommandButton3_Click()
    CouleursBoutons 3
    Me.Range("F15") = "Autre"
End Sub

Code dans le module de la feuille.

Cordialement.

edit : avec le code de Thev, tu as un éventail de syntaxe pour coder la couleur, selon qu'il s'agit d'une forme dessinée ou d'un ActiveX...

Merci encore a tous pour votre superbe soutien et votre compassion

tout marche nickel

charly

Rechercher des sujets similaires à "bouton couleur"