Colorer un bouton sous Excel

[Fermé]
Signaler
-
Messages postés
17537
Date d'inscription
dimanche 17 février 2008
Statut
Contributeur
Dernière intervention
17 septembre 2021
-
Bonjour,

Je souhaiterai savoir si quelqu'un sait quel sont les lignes de code que je dois rajouter dans ma macro, pour que le bouton sur lequel je clic (qui exécute une macro) change de couleur (passe en vert par exemple).

Merci d'avance pour votre aide.

10 réponses

Messages postés
17537
Date d'inscription
dimanche 17 février 2008
Statut
Contributeur
Dernière intervention
17 septembre 2021
4 725
Salut,

exemple 1 clic passe en vert et double clic en rouge

Private Sub CommandButton1_Click()
CommandButton1.BackColor = &HFF00&
End Sub

Private Sub CommandButton1_DblClick(ByVal Cancel As MSForms.ReturnBoolean)
CommandButton1.BackColor = &HFF&
End Sub
1
Merci

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

CCM 42674 internautes nous ont dit merci ce mois-ci

Merci beaucoup Mike,

Je viens de faire un essai cela marche impeccablement bien
Pour faire suite à ma première question,

Où puis-je trouver un tableau avec les couleurs et leur indice hexadecimale.
Si cela existe.

Merci.
Messages postés
17537
Date d'inscription
dimanche 17 février 2008
Statut
Contributeur
Dernière intervention
17 septembre 2021
4 725
Messages postés
8
Date d'inscription
dimanche 26 février 2012
Statut
Membre
Dernière intervention
29 février 2012

Merci pour toutes ces infos
Messages postés
8
Date d'inscription
dimanche 26 février 2012
Statut
Membre
Dernière intervention
29 février 2012

Maintenant j'aimerai inserer le changement de couleur dans ma macro, la voici :
Sub ST6W105M()


'
' ST6W105M Macro
'

'
Sheets("ST 6W105M").Select
Rows("1:188").Select
Selection.Copy
Sheets("ST").Select
Range("A12").Select
Selection.Insert Shift:=xlDown
Range("A1").Select
Sheets("Devis").Select
ActiveSheet.Shapes.Range(Array("Button 73")).Select
Selection.Font.Bold = True
Range("B28").Select
ActiveCell.FormulaR1C1 = "6W105M"
Range("C28").Select
ActiveCell.FormulaR1C1 = 1
Range("F28").Select
ActiveCell.FormulaR1C1 = "='6W105M'!R[18]C[1]"
Range("A12").Select
End Sub

Quelqu'un peut t'il m'aider?
Messages postés
17537
Date d'inscription
dimanche 17 février 2008
Statut
Contributeur
Dernière intervention
17 septembre 2021
4 725
Re,

Ton code peut être amélioré quand à l'insertion de la couleur dans le code pas de problème mais à quel moment veux tu que la couleur change, en fin de procédure ou en fonction d'une valeur contenue dans une cellule
Messages postés
8
Date d'inscription
dimanche 26 février 2012
Statut
Membre
Dernière intervention
29 février 2012

J'aimerais que la couleur change juste après :

ActiveSheet.Shapes.Range(Array("Button 73")).Select
Selection.Font.Bold = True

ou avant peut importe....

Je sais que mon code n'est pas top, car il est issu d'un "enregistrement de macro".

Mais bon, ça marche pas trop mal, pour l'instant je m'en contente, j'essaierai de l'améliorer par la suite.
Si tu as du temps et que tu pense pour l'améliorer, dis moi ce que tu en penses.

Merci d'avance.
Messages postés
17537
Date d'inscription
dimanche 17 février 2008
Statut
Contributeur
Dernière intervention
17 septembre 2021
4 725
Re,

Crée un bouton ActiveX et colle la partie en gras dans ses propriétés


Private Sub CommandButton1_Click()

Sheets("ST 6W105M").Select
Rows("1:188").Select
Selection.Copy
Sheets("ST").Select
[A12].Select
Selection.Insert Shift:=xlDown
[A1].Select
Sheets("Devis").Select
ActiveSheet.Shapes.Range(Array("Button 73")).Select
Selection.Font.Bold = True
CommandButton1.BackColor = &HFF00&
[B28].FormulaR1C1 = "6W105M"
[C28].FormulaR1C1 = 1
[F28].FormulaR1C1 = "='6W105M'!R[18]C[1]"
[A12].Select

End Sub


Ce qui me pose problème c'est la ligne ci dessous, que veux tu faire exactement après avoir mis les ligne de 1 à 188 en situation copier, je pense que tu souhaites simplement copier une plage de A1 à x118 non

Selection.Insert Shift:=xlDown
Messages postés
8
Date d'inscription
dimanche 26 février 2012
Statut
Membre
Dernière intervention
29 février 2012

En faite je veut copier la selection A1 à A188 de l'onglet 'ST 6W105M' dans l'onglet 'ST' a partir de A 12

Par contre, le programme bloque à:

Rows("1:188").Select
Messages postés
8
Date d'inscription
dimanche 26 février 2012
Statut
Membre
Dernière intervention
29 février 2012

En faite cela ne marche pas lorsque je colle le code que tu m'a donné dans les propriétés de CommandButton1
Messages postés
17537
Date d'inscription
dimanche 17 février 2008
Statut
Contributeur
Dernière intervention
17 septembre 2021
4 725
Re,

Colle le code en gras dans les propriétés d'un CommandButton

Private Sub CommandButton1_Click()

Sheets("ST 6W105M").Select
[A1:A188].Copy
Sheets("ST").Select
[A12].PasteSpecial Paste:=xlPasteValues
Sheets("ST").[A1].Select
Sheets("Devis").Select
ActiveSheet.Shapes.Range(Array("Button 73")).Select
Selection.Font.Bold = True
Sheets("ST 6W105M").Select
CommandButton1.BackColor = &HFF00&
[B28].FormulaR1C1 = "6W105M"
[C28].FormulaR1C1 = 1
[F28].FormulaR1C1 = "='6W105M'!R[18]C[1]"


End Sub

A+
Mike-31

Une période d'échec est un moment rêvé pour semer les graines du savoir.