valeur a automatiser

pitive

XLDnaute Nouveau
Bonjour,

Pour les besoin d'un tableau, et pour trouver une valeur, j'ai utilisé la fonction valeur cible.
Pour l'automatiser je l'ai enregistré en vba.
J'ai créé un bouton, lorsque je clique dessus ma fonction vba s'enclenche et trouve le résultat.

Ce que j'aimerais faire c'est que cette fonction se fasse toute seul, sans cliquer sur le bouton ou faire quoi que se soit.

Car si je modifie une valeur et que j'oubli de réappuyer sur le bouton c'est mon ancienne valeur qui reste.
Donc il y a un risque d'erreur.

Est-il possible de le faire comme une formule et que lorsque je modifie une valeur, mon analyse de scénario se fasse seul.

Merci d'avance
 

tbft

XLDnaute Accro
Re : valeur a automatiser

bonjour

si la macro s'appel toto et qu'elle n'a pas de parametre, il me semble que l'on puisse ecrire
VB:
Private Sub Worksheet_Change(ByVal Target As Range)
  toto
End Sub

si la macro a des parametres, il me semble que l'on puisse ecrire
VB:
Private Sub Worksheet_Change(ByVal Target As Range)
  toto target
End Sub
 

pitive

XLDnaute Nouveau
Re : valeur a automatiser

Bonjour,
je n'y comprend pas grand chose en macro, pourrais-tu l'adapter à la macro que j'ai enregistrée :Sub Scénario_1()
'
' Scénario_1 Macro
'

'
Sheets("Feuil9").Select
Range("D4").Select
Range("D4").GoalSeek Goal:=0, ChangingCell:=Range("B4")
Sheets("Batterie froid").Select
End Sub


Merci d'avance
 

tbft

XLDnaute Accro
Re : valeur a automatiser

Bonjour

La macro scenario_1 peut être stockée dans un module ou dans le code d'une feuille.
La macro "Worksheet_Change" DOIT être stockée imperativement dans le code de la feuille que l'on doit surveiller les changements.

Pour qu'une fonction (ou macro) puisse être appeller de partout, on peut ajouter public devant sa declaration...
si on veut l'effet inverse on ajoute private..
 

pitive

XLDnaute Nouveau
Re : valeur a automatiser

Re,
Je ne dois pas etre très doué car j'ai fais un copier coller de ton code mais cela ne fonctionne pas voici ce que cela donne dans le module 2 :

Sub Scénario_1()
'
' Scénario_1 Macro
'

'
Sheets("Feuil9").Select
Range("D4").Select
Range("D4").GoalSeek Goal:=0, ChangingCell:=Range("B4")
Sheets("Batterie froid").Select
End Sub
Public Sub Worksheet_Change(ByVal Target As Range)
Scénario_1
End Sub

J'ai essayé de le mettre dans la feuille ou je veux que le scénario agisse mais cela ne fonctionne pas.
Merci
 

tbft

XLDnaute Accro
Re : valeur a automatiser

Cette function ne va pas dans un module

Public Sub Worksheet_Change(ByVal Target As Range)
Scénario_1
End Sub

Elle doit être la "partie" vba de la feuille à surveille
si c'est la feuille 1, dans la partie de droite (par defaut) de l'éditeur vba, il faut double cliquer sur la feuille 1 est mettre cette macro ici
 

Pièces jointes

  • Classeur1.xls
    28.5 KB · Affichages: 29
  • Classeur1.xls
    28.5 KB · Affichages: 40
  • Classeur1.xls
    28.5 KB · Affichages: 43

pitive

XLDnaute Nouveau
Re : valeur a automatiser

Je ne dois pas etre doué, je n'y arrive pas.
Ci-joint mon fichier :
http://cjoint.com/?3CysOO1ORF7
Explication :
L'analyse de scénario se trouve dans la feuille Batterie froid, elle agit sur sur la cellule FG26.
La valeur change en fonction de la cellule RS12 de la feuille Automne.

Exemple
Si rs12 de la feuille automne = 4, alors FG26 de la feuille batterie froid= 11.54
Si rs12 de la feuille automne = 6, alors FG26 de la feuille batterie froid= 9.64

Désolé d'être aussi nul
 

tbft

XLDnaute Accro
Re : valeur a automatiser

Peut être avec ce qui suis

J'ai juste modifer la feuille automne au niveau des déclarations des sub change et ajouter l'appel à la fonction scenario

Je pense qu'il est préférable d'éviter les accents dans le VBA....
 

Pièces jointes

  • Copie de 3CysOO1ORF7_diagramme_psychrometrique_6__version_1_.xlsm
    337.8 KB · Affichages: 50
Dernière édition:

pitive

XLDnaute Nouveau
Re : valeur a automatiser

Rebonjour,
Désolé d'abuser de ta patiente, j'ai essayé d'adapter ta formule sur un autre programme : quand je change de chiffre dans ma cellule il met en surbrillance :
Public Sub Worksheet_Change(ByVal Target As Range
et me marque nom en ambigu détecté : Woksheet_change.

A savoir que c'est pour la même fonction c'est à dire une analyse de scénario.

Merci
 

Discussions similaires

Membres actuellement en ligne

Statistiques des forums

Discussions
312 400
Messages
2 088 086
Membres
103 711
dernier inscrit
mindo