Problème pour un résultat

Magic_Doctor

XLDnaute Barbatruc
Bonjour,

L'intitulé n'est pas très explicite, aussi vais-je tenter de m'expliquer le plus clairement possible.

Dans ma feuille j'ai une cellule où je rentre une valeur.
Cette valeur est un des paramètres d'une formule assez complexe.

Si je rentre, par exemple, la valeur "0,1", dans une autre cellule devrait normalement apparaître exactement le même chiffre, autrement dit "0,1". Mais voilà, apparaît "0,100103" !
Maintenant si je rentre à nouveau la même valeur "0,1", dans l'autre cellule apparaît alors "0,1" et c'est bon.
Je ne parviens pas à trouver la faille pour que le bon résultat apparaisse d'emblée. En revanche, en rentrant la valeur 2 fois consécutives, le résultat est bon et c'est, ma foi, ce qui importe...!
D'accord, le raisonnement est un peu bancal, mais existe-t-il un moyen en VBA pour forcer à ce que, quand on rentre une valeur dans une cellule, cette même valeur soit rentrée automatiquement une deuxième fois ?

Merci pour tout commentaire.
 

Gorfael

XLDnaute Barbatruc
Re : Problème pour un résultat

Salut Magic_Doctor et le forum
donne la formule de la seconde cellule, ça vient peut-être de là.

La solution de doubler l'entrée me semble débile en masquant le problème au lieu de le résoudre. De plus, si on peut doubler par macro, pas de certitude que le résultat soit celui attendu, et dans ce cas, pourquoi ne pas faire le calcul par la macro ?
A+
 

Magic_Doctor

XLDnaute Barbatruc
Re : Problème pour un résultat

Bonjour Gorfael,

Effectivement cela peut paraître débile, mais c'est la solution la plus simple qui m'est venue à l'esprit.

Très peu de calculs se font sur la feuille, l'essentiel par macros.
Pour que tu comprennes le problème et la difficulté de le résoudre (un véritable casse-tête), le résultat dépend d'une formule sur la feuille :

=1000*Q38*F92*F11*F13/(F9*(F92*(F13*(Q38+100*F15)-Q38*F11)+(F57+F98)*F13*(Q38+100*F15)))

qui dépend de 2 autres formules de macros :
mEqTamponParmLSol = [CSolTamponBis] * [Quid1] * [MVSolTampon] * [MVSoluteTampon] / ([CSolTamponBis] * [MVSolTampon] * [MVSoluteTampon] - 10 ^ -3 * [MM] * [Quid1] * ([MVSoluteTampon] * ([CSolTamponBis] + 100 * [MVSolvTampon]) - [CSolTamponBis] * [MVSolTampon]))
[TotalmEqST].Value = mEqTamponParmLSol * ([VolSol] + [ResultatAdrenaline])

reprises par une formule de la feuille :
=F9*F113/1000

et dont le résultat final est donné par macro :
vstf = [MasseST] * ([CSolTamponBis] + 100 * [MVSolvTampon]) / ([CSolTamponBis] * [MVSolTampon])

Bref, pas simple...!!!
Alors, s'il suffit de rentrer 2 fois consécutives une valeur, ça épargne les maux de tête !
Mais je suis d'accord, la solution est bancale.
 

Gorfael

XLDnaute Barbatruc
Re : Problème pour un résultat

Salut Magic_Doctor et le forum
Le problème est qu'excel doit calculer la feuille une première fois, pour mettre à jour les cellules, puis se servir de ce résultat pour mettre à jour tes formules de macro, puis retour à la feuille.
Donnes tes formules de macros
A+
 

JNP

XLDnaute Barbatruc
Re : Problème pour un résultat

Bonjour le fil :),
Techniquement, ça me fait penser à un problème de précision des décimales utilisées. Vu qu'il y a des fonctions VBA, les variables sont-elles bien déclarées en Double (virgule flottante double précision) et non en Single (virgule flottante simple précision) :rolleyes: ?
Bon courage :cool:
 

Discussions similaires

Réponses
1
Affichages
267

Statistiques des forums

Discussions
312 493
Messages
2 088 958
Membres
103 990
dernier inscrit
lamiadebz