Automatiser calcul valeur cible dès modification plage de cellul

JulietteDodue -  
Juliette.CL Messages postés 9 Statut Membre -
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. ccm81 Messages postés 11033 Statut Membre 2 434
     
    Et comme ça ?
    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("F1").GoalSeek Goal:=0, ChangingCell:=Range("D10") 
    End If
    End Sub

    Cdlmnt
    1
    1. Juliette.CL Messages postés 9 Statut Membre
       
      Sa marche !! Merci ! :)
      Maintenant j'ai un autre problème (je suis désolée, mais j'ai du mal à comprendre la logique de VBA), j'espère que vous pourrez m'éclairer encore une fois:

      Je cherche un code (ou une formule) qui me permette de trouver un nombre X, de telle sorte que, la formule contenant X est égale à un nombre le plus proche possible de Y%. Soit quelque chose comme sa:

      W1=ARRONDI( MOYENNE((a+X),b,c,d,...)), sachant que
      W1< Y%.

      Par exemple: Soit Y%= 10%, je cherche X, afin qu'en appliquant la formule, je trouve un nombre W1 le plus proche possible de 10%. W1 = 9,8% ou W1= 9,9%. Mais W1 doit être différent de 10%.
      La difficulté ici est que pour trouver le résultat le plus proche de 10%, il faut que je teste plusieurs valeur pour X. J'ai utilisé un énorme tableau contenant en colonne les valeurs de X (X=1,2,3,...200). J'aimerai ne plus avoir à tirer un tableau sur 1000 lignes pour trouver la solution.

      Je vous serai très reconnaissante si vous pouviez encore faire un miracle ;)
      0