Colorer un bouton sous Excel

jobcouscous -  
Mike-31 Messages postés 18405 Date d'inscription   Statut Contributeur Dernière intervention   -
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

  1. Mike-31 Messages postés 18405 Date d'inscription   Statut Contributeur Dernière intervention   5 147
     
    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
    1. jobcouscous
       
      Merci beaucoup Mike,

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

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

    Merci.
    0
  3. jobcouscous Messages postés 10 Statut Membre
     
    Merci pour toutes ces infos
    0
  4. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  5. jobcouscous Messages postés 10 Statut Membre
     
    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?
    0
  6. Mike-31 Messages postés 18405 Date d'inscription   Statut Contributeur Dernière intervention   5 147
     
    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
    0
  7. jobcouscous Messages postés 10 Statut Membre
     
    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.
    0
  8. Mike-31 Messages postés 18405 Date d'inscription   Statut Contributeur Dernière intervention   5 147
     
    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
    0
  9. jobcouscous Messages postés 10 Statut Membre
     
    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
    0
    1. jobcouscous Messages postés 10 Statut Membre
       
      En faite cela ne marche pas lorsque je colle le code que tu m'a donné dans les propriétés de CommandButton1
      0
  10. Mike-31 Messages postés 18405 Date d'inscription   Statut Contributeur Dernière intervention   5 147
     
    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.
    0