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 ! :)
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
-
Bonjour
Essaies ceciPrivate 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-
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... :/
-