Microsoft 365 Déclenchement macros quand modifications cellules différents

Lisette

XLDnaute Junior
Bonjour à tous !

Petite question :)
Dans ma feuille, je cherche à faire la chose suivante :
- en A1, j'ai un résultat de fonction qui change : cela doit faire changer la couleur de ma forme.

👍ça, j'ai réussi avec le code suivant :

VB:
Private Sub Worksheet_Change(ByVal Target As Range)

    If Intersect(Target, Range("J49")) Is Nothing Then Exit Sub
    
    If IsNumeric(Target.value) Then
        If Range("O49") = 1 Then
            ActiveSheet.Shapes.Range(Array("TR2Z1")).Fill.ForeColor.RGB = vbRed
        Else
            ActiveSheet.Shapes.Range(Array("TR2Z1")).Fill.ForeColor.RGB = vbGreen
        End If
    End If
    End Sub

Par contre, là où ça se corse, c'est que je souhaite aussi que sur la même feuille :
- en B1, j'ai un résultat de fonction qui change : cela doit faire changer la couleur d'une autre forme.

:eek: Et là, mes (in)compétences en VBA se limitent, car je ne parviens pas à le faire.
Je pense ien que le "Then Exit Sub" doit être changé pour aller vérifier une autre condition quand la première n'est pas remplie, mais je sèche complètement !!

Pourriez-vous m'aider s'il vous plaît ?
Par avance un immense MERCI !

Lisette
 

sylvanu

XLDnaute Barbatruc
Supporter XLD
Bonjour Lisette,
Essayez cela :
VB:
Private Sub Worksheet_Change(ByVal Target As Range)
    If Not Intersect(Target, Range("J49")) Is Nothing Then
        If IsNumeric(Target.Value) Then
            If Range("O49") = 1 Then
                ActiveSheet.Shapes.Range(Array("TR2Z1")).Fill.ForeColor.RGB = vbRed
            Else
                ActiveSheet.Shapes.Range(Array("TR2Z1")).Fill.ForeColor.RGB = vbGreen
            End If
        End If
    End If
    If Not Intersect(Target, Range("B1")) Is Nothing Then
        ' Code si B1 a changé
    End If
End Sub
On peut analyser cas après cas.
 

Discussions similaires

Statistiques des forums

Discussions
312 195
Messages
2 086 078
Membres
103 112
dernier inscrit
cuq-laet