Bonjour à tous,
J'aimerais exécuter une 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)
Voici mon code qui fonctionne très bien mais manuellement. Il consiste à changer la couleur (RGB) de
la forme (= objet dessin dénommé "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(A4);0;A4) par exemple).
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22 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
Partager