Addition à trou sur VBA
Bonjour à tous, je dois résoudre une addition à trou sur VBA
100% = ∑ 4% /(1+x) ^ i
avec n allant de 1 jusqu'à 10
Il faut donc trouver la valeur de X
J'ai fait un code qui semble marcher, mais mon prof me dit que ce n'est pas la bonne façon de le faire et que je me prends la tête pour rien. Il y aurait donc une autre façon de résoudre ce calcul. J'avoue que je ne trouve pas. Apparemment, il faudrait utiliser une fonction TRI. Mais je ne vois pas pourquoi.
Y aurait-il quelqu'un pour m'aider car je désespère ? Merci d'avance
Voici mon code actuel
Function F(x As Double) As Double
Dim dSum As Double
For i = 1 To 10
dSum = dSum + 0.4 / (1 + x) ^ i
Next i
F = dSum
End Function
Sub Solve()
Dim objectif As Double
Dim val As Double
Dim iter_max As Long
Dim iter As Long
Dim step As Double
Dim x As Double
Dim precision As Double
objectif = 1
step = 1
x = 10
val = F(x)
iter_max = 100
decimals = 15
precision = 10 ^ (-decimals)
Do While Abs(val - objectif) > precision
Do While val < objectif
x = x - step
val = F(x)
Debug.Print val & " (x=" & x & ")"
If val >= objectif Then
Debug.Print "x in [" & x & "; " & x + step & "]"
Exit Do
End If
If val = objectif Then GoTo end_sub
Loop
x = x + step
val = F(x)
step = step / 10
iter = iter + 1
'If iter = iter_max Then Exit Do
Loop
end_sub:
Debug.Print "Solution : " & val & "(x=" & x & ")"
Cells(2, 1).Value = x
End SubEdit modo : code à mettre entre balises SVP avec le bouton </>
Bonsoir Mozess48 et
Une petite présentation ICI serait la bienvenue
Si vous ne l'avez pas encore fait, je vous invite à lire la charte du forum [A LIRE AVANT DE POSTER] ainsi que ses fonctionnalités
qui vous aideront dans vos demandes et réponses sur ce forum et notamment :
- Pour plus de lisibilité, utilisez la fonctionnalité </> pour insérer vos codes VBA (et si possible aussi pour vos formules Excel)
Merci d'y faire attention
Pour le reste, je laisse faire les pros des calculs mathématiques
Cordialement
Bonjour à tous,
Tout change mais j'aurais tendance à dire que 4% c'est toujours 0.04
Pour le reste je passe mon tour aussi.
eric
Bonjour Mozess48, BrunoM45, Eriiic,
Apparemment, il faudrait utiliser une fonction TRI. Mais je ne vois pas pourquoi.
Sans doute, tu ne vas pas prendre l'option Finance plus tard...
Sinon ton futur employeur va souffrir
je dois résoudre une addition à trou sur VBA
100% = ∑ 4% /(1+x) ^ iL'addition à trous me fait plus penser à des cours de CM1 à CM2.
Mais là, c'est la formule du Taux de Rendement Interne (TRI) et ton prof a raison.
Même si, on peut convenir, que x représente les trous (du porte-monnaie
Donc 100% est l'investissement, donc n'importe quelle somme dont on cherche (ici sur 10 ans) au minimum à recouvrer par des flux de trésorerie.
A toi, en suivant le lien de contenter ton prof: ici