Automatiser calcul valeur cible dès modification plage de cellul

Bonjour,

Je cherche à automatiser le calcul d'une valeur cible dès modification d'un ensemble de cellule. J'ai trouvé un "code" sur internet, PROBLEME: je souhaite l'appliquer sur UNE PLAGE de cellule (G21:G92):

Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Address = Range("C2").Address Or Target.Address = Range("C4").Address Or Target.Address = Range("G21:G92").Address Then
Range("F1").GoalSeek Goal:=0, ChangingCell:=Range("D10")
End If
End Sub

Pour info le code ci-dessus marche quand je change le cellules C2, C4, mais il ne marche pas quand je modifie une cellule dans la plage G21:G92
Je suis débutante en VBA, quelqu'un pourrait m'aider? Marci d'avance ! :)

2 réponses

  1. Bonjour

    Essaies ceci
    Private Sub Worksheet_Change(ByVal Target As Range)
    If Target.Count > 1 Then Exit Sub
    If Not Intersect(Target, Union(Range("C2"), Range("C4"), Range("G21:G92"))) Is Nothing Then
      Range("A26").Value = Time    ' j'ai mis n'importe quoi ici
    End If
    End Sub

    Cdlmnt
    0
    1. Bonsoir ! tout d'abord merci pour votre réactivité ! (Jai enfin le mdp de retrouvé mon compte pour ce site )

      Votre solution à l'air bien, mais elle ne marche pas sur mon fichier.
      Je pense que je n'ai pas été clair dans mon précédent message:

      En fait les cellules C2,C4, G21:G92 et D10 contiennent des variables qui permettent de calculer F1.

      - en cas de modification de la valeur de 1 ou plusieurs cellules (C2, C4, ou dans la plage G21:G92): par exemple je modifie C4, G32 et G45; ou je modifie seulement C2,

      - cela entraîne le calcul automatique de la valeur en D10, de telle sorte que F1=0

      Je ne comprends rien au langage VBA donc je ne peux pas dire ce qui ne va pas dans votre solution désolée... :/
      0