Problème code vba

pitive

XLDnaute Nouveau
Bonjour,

Par l'intermediaire d'un internaute j'ai adapté un code VBA pour un tableau :
Dans un module voici le code qui sert a lancer un scénario :public Sub scenario(li As Long)
Sheets("Calcul").Select
Range("H" & li).Select
Range("H" & li).GoalSeek Goal:=0, ChangingCell:=Range("C" & li)
Sheets("PDC").Select
Range("F" & li & ":G" & li).Select
End Sub
Ceci me lance un scénario.
Dans ma feuille ou les changement se font voici le code VBA :

Private Sub Worksheet_Change(ByVal Target As Range)
If Not Intersect(Target, Range("D20:AU44")) Is Nothing Then
Call scenario(Target.Row)
End If
End Sub

Ce qui signifie que dès qu'il y a un changement dans l'une de ces cellules, la macro se relance.
Pour beaucoup des cellules cela fonctionne, sauf pour une colonne.

Dans cette colonne, il y a une formule de type :
Si(a20="";"";temp_1)
Et la il y a beau avoir changement le scénario ne se relance pas.

Merci
 

tototiti2008

XLDnaute Barbatruc
Re : Problème code vba

Bonsoir pitive,

Peu de personnes utilisent les scénarios, et c'est encore plus compliqué sans fichier exemple pour comprendre ta problématique
D'autre part (mais je peux me tromper) il me semblait que "GoalSeek" correspondait plus à la Valeur Cible qu'aux Scénarios
Pourrais-tu fournir un fichier exemple, sans données confidentielles pour nous aider à t'aider ?

Edit : Ceci dit après reflexion, si ta question est : pourquoi ma macro scenario ne se lance pas quand la formule se recalcule, c'est normal, le calcul des formules lance l'évènement Calculate mais pas l'évènement Change
 
Dernière édition:

pitive

XLDnaute Nouveau
Re : Problème code vba

Bonjour Tototiti2008,

En effet je me suis trompé, ce n'est pas l'analyse de scénario mais bien valeur cible.

Ci-joint mon fichier :
http://cjoint.com/?0CDiPnseSkr
Explication du tableau
1/ Qu'en fonction du débit (feuille PDC cellule DE 20)
2/Calcul de la perte de charge linéaire ( feuille PDC cellule XY 20)

1/pour savoir ou rechercher le débit on met a perte de charge maxi, que l'on admet ( feuille PDC cellule FI 11)
Si FI 11 = 25 alors on recherche le DN dans la feuille PDC 25, si FI 11=50 alors on recherche dans la feuille PDC 50....
Ensuite on recherche le débit ( feuille PDC cellule DE 20) le proche supérieur, dans le tableau correspondant, et dans la colonne qui correspond à la température (feuille PDC cellule FI 9)

Un fois le débit trouvé on recheche le DN correspondant.

2/ une fois le DN trouvé il faut calculer la vrai perte de charge par mettre, c'est la qu'intervient ma valeur cible, dans un tableau secondaire de la feuille calcul.

3/ Ce que je souhaiterais c'est que si une variante est modifié dans mon tableau, la valeur cible se réenclenche sans que j'ai à appuyé sut un bouton.

Merci de votre aide
 

Discussions similaires