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 SubNous 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
- Messages
- 4'199
- Excel
- 2021 FR 64 bits
- Inscrit
- 13/06/2016
- Emploi
- bénévole associations Goutte d'Or
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 WithBonjour, Salut à tous !
Tu parles de basculer la couleur du bouton cliqué au rouge, en fait tu la passes en vert, les autres étant bleus...
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 SubCode 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