calcul par itération ?

lao31

XLDnaute Occasionnel
Bonjour a tous,

pour m'eviter de rentrer chaque fois des valeurs a la main, je suis intimement convaincu qu'il y a un moyen de trouver la valeur que je cherche. Probablement un calcul par iteration, mais en fait je n'en sais rien.
j'ai cherché des posts sensiblement equivalent, mais je rame.
cela serai pour anticiper un renversement de tendance.
Je vous joint un petit fichier qui j'espere pourra vous aider plus que mes explications qui sont toujours a la limite de la comprehension.
merci par avance
Michel
 
Dernière édition:

lao31

XLDnaute Occasionnel
Re : calcul par itération ?

Merçi JJ1 pour ta reponse rapide, mais aurai tu la gentillesse de m'en dire un peu plus car le solveur excel est un grand inconnu
dois je chercher des post avec solveur excel ?
Merci
Michel
 

lao31

XLDnaute Occasionnel
Re : calcul par itération ?

Bonjour le forum,

Dois je passer par le solveur, une formule dans une cellule ne serait pas possible ? il y a aussi la possibilité d'une boucle, mais cela devrait etre trop long car j'ai enormement de ligne dans mon fichier.
Une formule avec un copier vers le bas serait ideale. Merci pour votre aide ou conseil.
cordialement

Michel
 
J

JJ1

Guest
Re : calcul par itération ?

Bonjour,

Une simple boucle Alea pour te dépanner. La macro s'est bien arrêtée à l'égalité des 2 cellules.

Tu nous diras
a+
 

Pièces jointes

  • iteration2.xlsm
    21.9 KB · Affichages: 50

lao31

XLDnaute Occasionnel
Re : calcul par itération ?

Bonjour le forum, JJ1

Pour la boucle je vois, mais c'est bien trop long meme si je mets des bornes from to avec des step etc etc, ce n'est pas ce que je recherche.
Pour moi l'ideal serai une formule une cellule voisine de An me donnerai la valeur de An qui me donnerai la difference de Fn-fn-1 a 0.
Je ne sais pas si je suis bien clair. en fait, les valeurs de la colonne A se mettent a jour quand je lance une macro donc c'est la valeur An+1 que nous pourrions mettre dans une colonne Gn+1 ouf je m'emmele les pinceaux.
merci pour la boucle
Michel
 

job75

XLDnaute Barbatruc
Re : calcul par itération ?

Bonjour lao31, hello JJ1,

Il n'y a nul besoin de calcul itératif ni du solveur.

Pour y arriver il faut avoir avec grand soin transformé les formules d'origine en B26 C26 D26 E26 F26.

Ensuite on n'a plus qu'à résoudre une équation linéaire du 1er degré pour calculer l'inconnue A26.

On obtient donc cette formule en A26 :

Code:
=(F25-B25*(1-2/(B$1+1))*(1-2/(E$1+1))-C25*(2/(C$1+1)-1)*(1-2/(E$1+1))+E25*(1-2/(E$1+1)))/((2/(B$1+1)-2/(C$1+1))*(1-2/(E$1+1)))
Une fois cela fait on peut rétablir les formules d'origine en tirant la plage B25:F25 sur B26:F26.

Fichier joint.

Nota : j'ai mis les valeurs avec 17 décimales en G25 et G26.

On voit qu'il y a une différence sur la dernière décimale.

Ce n'est pas étonnant et tout à fait classique sur Excel.

A+
 

Pièces jointes

  • iteration(1).xls
    44 KB · Affichages: 51

lao31

XLDnaute Occasionnel
Re : calcul par itération ?

Bonjour Job75 , JJ1

Alors la, super c exactement ce dont j'ai besoin, de plus cela fonctionne sur mon fichier réel.
en fait je recopie les formules de tes cellules vers le bas et ensuite de recopie vers le bas -1 les autres formules initiales.
Je ne suis surement pas clair, mais j'ai compris c'est tres commode pour mon fichier.
Merci a vous deux et bravo a Job75.
Cordialement
Michel
 

job75

XLDnaute Barbatruc
Re : calcul par itération ?

Re,

En divisant le numérateur et le dénominateur par (1-2/(E$1+1)) la formule en A26 se simplifie :

Code:
=(F25/(1-2/(E$1+1))-B25*(1-2/(B$1+1))-C25*(2/(C$1+1)-1)+E25)/(2/(B$1+1)-2/(C$1+1))
Fichier (2).

A+
 

Pièces jointes

  • iteration(2).xls
    44 KB · Affichages: 58

job75

XLDnaute Barbatruc
Re : calcul par itération ?

Re,

Je crois avoir compris ce que vous faites au post #9.

Mais notez qu'il n'y a aucun intérêt à conserver les formules transformées des cellules C26 à F26.

Utilisez les formules d'origine qui sont plus simples.

Seule la formule que j'ai indiquée doit bien sûr être conservée en colonne A.

A+
 

lao31

XLDnaute Occasionnel
Re : calcul par itération ?

Bonjour Job JJ,

Encore mieux donc je n'ai qu'a conserver la colonne A faire un copier vers le bas de la formule, et garder mes formules des autres colonnes.
Bien compris et bravo car j'avais l'impression d'être un peu flou, et la le travail est vraiment simplifié.
Merci a vous deux pour le temps passé et une nouvelle fois chapeau bas Job.
Cordialement
Michel
 

job75

XLDnaute Barbatruc
Re : calcul par itération ?

Bonjour mikeo, le fil,

Très bien mikeo, mais tant qu'à faire une macro autant utiliser celle-ci :

Code:
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
If Target.Row < 4 Or Target.Column > 1 Then Exit Sub
Cancel = True
Target(0).Resize(, 6).Copy Target
Target = "=(R[-1]C6/(1-2/(R1C5+1))-R[-1]C2*(1-2/(R1C2+1))-R[-1]C3*(2/(R1C3+1)-1)+R[-1]C5)/(2/(R1C2+1)-2/(R1C3+1))"
Target = Target.Value 'supprime la formule
End Sub
Le double-clic en colonne A copie la ligne du dessus et entre ma formule.

Fichier (3).

A+
 

Pièces jointes

  • iteration(3).xls
    64.5 KB · Affichages: 51

Discussions similaires

Réponses
3
Affichages
589

Statistiques des forums

Discussions
312 503
Messages
2 089 062
Membres
104 014
dernier inscrit
Aurélie MONTEIL