Bonjour i20100 ,
J'aimerais exécuter la macro automatiquement lorsque la valeur d'une cellule change.
Le problème est que la cellule contient une formule et ma macro ne fonctionne pas (sauf si je change moi même la valeur, ce que je ne souhaite pas)
Pour rappel, le code consiste à changer la couleur (RGB) de la forme (= objets dessins dénommés "ARA", "EPA" et "DHA") en fonction des valeurs entrées dans les cellules E20; E21, et E22. Sauf que ces valeurs sont issues d'une formule (E20=SI(ESTERREUR(M4);0;M4) par exemple).
Private Sub Worksheet_Change(ByVal Target As Range)
'Updateby Extendoffice 20160704
If Intersect(Target, Range("E20:E22")) Is Nothing Then Exit Sub
Select Case Target.Row
Case 20: Set sh = ActiveSheet.Shapes("ARA")
Case 21: Set sh = ActiveSheet.Shapes("EPA")
Case 22: Set sh = ActiveSheet.Shapes("DHA")
End Select
If IsNumeric(Target.Value) Then
If Target.Value >= 50000 Then
sh.Fill.ForeColor.RGB = RGB(255, 192, 0)
ElseIf Target.Value < 50000 And Target.Value >= 5000 Then
sh.Fill.ForeColor.RGB = RGB(251, 221, 41)
Else
sh.Fill.ForeColor.RGB = RGB(230, 230, 230)
End If
End If
End Sub