Bonjour le forum,

J'espère que ma question concernera ce forum, si ce n'est pas le cas, les modérateurs me dirigeront sur le bon forum.

Voici mon exposé:

J'ai un tableau de 19 variables ou instances ou occurences (je ne connais pas le terme à utiliser) qui me donne un résultat (somme).

Je compare ce résultat à un attendu.

Si le résultat est > à l'attendu, je souhaite que chaque donnée du tableau soit recalculée au prorata de la différence entre le résultat et l'attendu.

Je l'ai écris (papier) comme suit:

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
(somme(tablo(19))=Res
Diff=Res - attendu
Delta=Diff / attendu
 
For x=1 to ubound(tablo)
  if tablo(x) >0 then tablo(x)=tablo(x) - (delta * tablo(x))
next
La somme obtenue ensuite s'approche de l'attendu mais n'est pas identique

J'ai essayé avec les propriétés .RoundUp et .RoundDown mais cela ne varie pas beaucoup.

Quelqu'un connait il une propriété me permettant de réussir cette équation?

J'ai oublié les maths depuis longtemps.

Merci par avance