plusieurs macros pour un bouton avec changement de couleur

Dan54

XLDnaute Nouveau
Bonjour a tous,

Je viens solliciter votre aide. Cela fais un certain nombre d'heure que je cherche une solution à mon problème et je n'ai pas réussit à adapté les différente macros trouver sur internet

Étant complétement débutant en VBE j'ai voulu créer un bouton sur excel (grâce au mode d'enregistrement de macro) qui me permettait, une fois cliqué dessus, d'afficher la plus grande valeur d'une ligne. Une fois la valeur affiché je voudrai re-cliquer sur ce même bouton afin de supprimer la valeur qu'il a afficher et si possible que le bouton change de couleur (qui passe de bleu a rouge) entre chaque activation.

J'ai réussi à faire une macro pour rechercher la plus grande valeur et une autre pour supprimé cette valeur mais je n'ai pas réussit a assigner ces 2 macros sur un même bouton.

Je vous suis d'avance reconnaissant pour votre aide car ce petit problème technique me bloque complétement.

Bonne journée à vous
 

Pièces jointes

  • Vmax.xlsm
    15.1 KB · Affichages: 42

mécano41

XLDnaute Accro
Re : plusieurs macros pour un bouton avec changement de couleur

Bonjour,

Essaie ceci...
Code:
Sub Ellipse1_Clic()
Application.ScreenUpdating = False
If Range("B6").Value = "" Then
    Range("B6").FormulaR1C1 = "=MAX(R[-5]C:R[-5]C[65])"
    ActiveSheet.Shapes.Range(Array("Ellipse 1")).Select
    Selection.ShapeRange.Fill.ForeColor.RGB = RGB(255, 192, 0)
    Range("B6").Select
Else
    Range("B6").Value = ""
    ActiveSheet.Shapes.Range(Array("Ellipse 1")).Select
    Selection.ShapeRange.Fill.ForeColor.RGB = RGB(146, 208, 80)
    Range("B6").Select
End If
Application.ScreenUpdating = True
End Sub

Cordialement
 

Dranreb

XLDnaute Barbatruc
Re : plusieurs macros pour un bouton avec changement de couleur

Bonjour.

L'ai écrit encore un peu autrement :
VB:
Sub Ellipse1_Clic()
Dim Coul As ColorFormat
Set Coul = ActiveSheet.Shapes("Ellipse 1").Fill.ForeColor
If Coul.RGB <> &HFF& Then
   ActiveSheet.[B6].FormulaR1C1 = "=MAX(R[-5]C2:R[-5]C67)"
   Coul.RGB = &HFF&
Else
   ActiveSheet.[B6].ClearContents
   Coul.RGB = &HFF8080
   End If
End Sub
 

Discussions similaires

Statistiques des forums

Discussions
312 329
Messages
2 087 327
Membres
103 516
dernier inscrit
René Rivoli Monin