Aide pour recréer la fonction "valeur cible" d'Excel sur VB 6.

technal Messages postés 4 Date d'inscription mardi 5 juillet 2005 Statut Membre Dernière intervention 13 février 2023 - 5 juil. 2005 à 15:24
cs_Celeborn Messages postés 38 Date d'inscription mardi 24 décembre 2002 Statut Membre Dernière intervention 20 septembre 2006 - 8 nov. 2005 à 18:02
Bonjour a tous, j ai besoin de votre aide pour résoudre le probleme suivant:

Comment recréer sur Visual Basic 6 la fonction "valeur cible" ou "solveur" d' Excel ?

Merci de vos reponses nombreuses

Guillaume

5 réponses

jpleroisse Messages postés 1788 Date d'inscription mardi 7 novembre 2000 Statut Membre Dernière intervention 11 mars 2006 27
5 juil. 2005 à 15:31
Bonjour,

C'est quoi la fonction "Valeur cible" ??, un exemple s'il te plais.

jpleroisse
0
ScSami Messages postés 1488 Date d'inscription mercredi 5 février 2003 Statut Membre Dernière intervention 3 décembre 2007 24
6 juil. 2005 à 04:52
Tu veux dire... sous Excel VBA ???



Sinon, décrit-nous les contrôles que tu as parce que ce n'est pas compliqué !!!



Sous Excel, c'est pas si simple que ça... Déjà, si tu as une feuille il
ne faut pas qu'elle soit modale! Ce qui, comme tu peux te l'imaginer
peut poser pas mal de problèmes entre autre pour sa réaparition!!!



Pour la gérée, pas d'autre solution que de passer par les procédures événementielles "SelectChange" de chaque feuille!!!



En fait, le coeur du programme consiste simplement à récupérer la
cellule actuellement sélectionnée (ActiveCell.Value si je dis pas de
bétises [à vérifier]).



Mais avant de continuer, il me semble en effet que des précisions
s'imposent quant à ce que tu cherche à faire et comment tu cherches à
le faire!!!


Enjoy

<hr size="2" width="100%">
( Si une réponse vous convient, cliquez sur le bouton "Réponse accé
0
technal Messages postés 4 Date d'inscription mardi 5 juillet 2005 Statut Membre Dernière intervention 13 février 2023
6 juil. 2005 à 10:48
Tout d'abord une petite explication de la "valeur cible" sous excel.

Elle permet de faire tendre une cellule vers une valeur numérique (derriere cette cellule I26 , il y a une formule faissant intervenir d'autres cellules dont I32).
Cette fonctionnalité va permettre de modifier la cellule I32 et de lui donner une nouvelle valeur.

Je ne sais pas si c'est tres clair.

Et ce que j aimerai savoir c'est: est-ce possible de retouver cette fonctionnalité sous VB 6 (pas VBA) sans ouvrir une feuille excel ?
0
ScSami Messages postés 1488 Date d'inscription mercredi 5 février 2003 Statut Membre Dernière intervention 3 décembre 2007 24
6 juil. 2005 à 20:09
Non, pas très je trouve!!!



Alors déjà, qu'entends-tu par "faire tendre une cellule vers une valeur numérique" ???



Tu nous parles de cellules, de VB6 et le tout sans ouvrir une feuille
Excel!!! Alors question : comment veux-tu travailler sur des cellules
sans ouvrir un feuille Excel (au moins vierge!) ???



Autrement dit, est-ce que tu as insérer un "objet Excel" dans ton
projet VB6 ou pas ? Si oui, il fonctionne exactement pareil et il faut
donc faire usage du VBA. Sinon, je ne comprends vraiment pas ce que tu
cherches à faire et surtout, comment tu comptes le faire!!!

Enjoy

<hr size="2" width="100%">
( Si une réponse vous convient, cliquez sur le bouton "Réponse accé
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
cs_Celeborn Messages postés 38 Date d'inscription mardi 24 décembre 2002 Statut Membre Dernière intervention 20 septembre 2006
8 nov. 2005 à 18:02
Bonjour à tous.


Il cherche à recréer la macro "Valeur cible" en VB6.


La macro "valeur cible" est une fonction qui cherche à déterminer la valeur à mettre dans une cellule source pour obtenir un certain résultat dans une cellule cible.


La macro modifie la cellule source, recalcule la feuille en son entier, compare la valeur de la cellule cible avec la valeur recherchée, et continu jusqu'a avoir trouvé. (enfin presque).


Pour réaliser cette fonction, il faut déterminer le sens d'action des modifications de la cellule source. ( c'est pourquoi en cas de calcul trop complexe, la fonction se plante).
V = valeur cible.
Mettre une valeur faible (S1) dans la cellule source, recalculer, noter la valeur de la cellule cible (C1).
Mettre une valeur forte (S2) dans la cellule source, recalculer, noter la valeur de la cellule cible (C2).


Si C1>C2 alors la fonction est directe.
Si C1<C2 alors la fonction est inverse.
Si C1=C2, ben c'est que la feuille ne calcule pas la cellule cible. ;-)


Si directe:
si C>V alors prendre le milieu entre S et sa valeur précédente.
si C<V alors augmenter S par exemple en le multipliant par 2.


Si inverse:
si C<V alors prendre le milieu entre S et sa valeur précédente.
si C>V alors augmenter S par exemple en le multipliant par 2.


Boucler jusqu'à résultat.


Attention à mettre un compteur, qui arrétera la fonction au bout d'un temps, car, par la calcul pourrait parfois s'éterniser. :-)

J'attend vos remarques et suggestions.

Virtuellement vôtre !!! ;-))
0
Rejoignez-nous