Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

calcul par itération ?

  • Initiateur de la discussion Initiateur de la discussion lao31
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

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:
Re : calcul par itération ?

Re,

Autre solution avec ce fichier (4) et cette macro :

Code:
Sub Copie()
'Ctrl+A pour lancer la macro
If Selection.Row < 4 Or Selection.Areas.Count > 1 Then Exit Sub
Selection(0, 1).EntireRow.Copy Selection.EntireRow
With Selection.EntireRow.Columns(1)
  .FormulaR1C1 = "=(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))"
  .Value = .Value 'supprime la formule
End With
End Sub
A+
 

Pièces jointes

Dernière édition:
Re : calcul par itération ?

Bonjour le fil, le forum,

Il est intéressant de tester sur une grande plage.

Sur A26:A50025 la macro précédente s'exécute en 4,2 secondes chez moi (Win XP - Excel 2003).

Les erreurs de calcul se cumulent : la 7ème décimale colonne F est modifiée à partir de la ligne 15163.

A+
 
Re : calcul par itération ?

Re,

Le cumul des erreurs est quand même un sérieux inconvénient.

On peut l'éviter en arrondissant les cellules en colonne F.

Par exemple à la 8ème décimale avec ARRONDI(xxx;8).

Voyez les formules du fichier (5) et cette macro :

Code:
Sub Copie()
'Ctrl+A pour lancer la macro
[A26:A50025].Select 'juste pour tester
If Selection.Row < 4 Or Selection.Areas.Count > 1 Then Exit Sub
Selection(0, 1).EntireRow.Copy Selection.EntireRow
With Selection.EntireRow.Columns(1)
  .FormulaR1C1 = "=(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)))"
  .Value = .Value 'supprime la formule
End With
End Sub
Nota : ça va encore avec ARRONDI(xxx;9) mais pas avec ARRONDI(xxx;10)...

A+
 

Pièces jointes

Dernière édition:
Re : calcul par itération ?

Bonjour le Forum, JOB75

Je passai par hasard et je vois encore une amelioration de la part de JOB75, que dire de plus...
Quand des passionnés se mettent au service d'autrui sans aucune pensée que de rendre service cela me trou le cul excusez moi pour le langage mais j'en ai le souffle coupé.
Le plaisir de la perfection , que j'aimerai avoir cette faculté et ces competences, il faut bosser a 60 piges pas evident.
Bravo et merci encore , c'est exactement ce qu'il me fallait même mieux car cela m'ouvre d'autres portes ou autres prises de tête mais je reviendrai avec grand plaisir.
Cordialement
Michel
 
Re : calcul par itération ?

Re,

Notez que suivant les arrondis faits en colonne F les résultats des autres colonnes sont un peu différents.

Avec ARRONDI(xxx;7) => A50025 = -3235489,90009332

Avec ARRONDI(xxx;8) => A50025 = -3235481,56260699

Avec ARRONDI(xxx;9) => A50025 = -3235483,22822806

On ne peut pas avoir le beurre et l'argent du beurre.

A+
 
Re : calcul par itération ?

Re,

Cette solution me paraît nettement meilleure que l'arrondi.

Entrer en F3 et tirer vers le bas la formule :

Code:
=SI(ABS(D3-E3-F2)<0,00000001;F2;D3-E3)
Le 0,00000001 peut être remplacé par une valeur plus grande si nécessaire.

Fichier (6).

A+
 

Pièces jointes

- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

J
Réponses
7
Affichages
2 K
Josselin
J
E
  • Question Question
Réponses
13
Affichages
1 K
erudess
E
A
  • Question Question
Réponses
12
Affichages
1 K
alicebaudry
A
P
  • Question Question
Réponses
4
Affichages
1 K
L
Réponses
4
Affichages
23 K
L
C
  • Question Question
Réponses
1
Affichages
854
E
C
  • Question Question
Réponses
1
Affichages
790
E
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…