1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24
|
'initialisation
Cells(3, 2).Value = (Rnd() + (1 / PeriodesMax * 2)) / 2
Do
' réinitialisation du processus par l'effacage des autres variables
Range(Cells(3, 3), Cells(3, PeriodesMax)).Cells.Clear
If WorksheetFunction.Sum(Range(Cells(3, 2), Cells(3, PeriodesMax - 1))) - Cells(3, 2) > 0.0001 Then
Cells(3, 2) = Cells(3, 2) - 0.000001
Else: Cells(3, 2) = Cells(3, 2) + 0.000001
End If
'récurrence pour calculer toutes les périodes nécessaires
For i = 1 To PeriodesMax
'Calcul de la somme à l'aide d'une boucle for
For k = 1 To i - 1
Somme = Cells(3, 2 + i - k).Value * Cells(3, 2 + k)
Next k
Cells(3, 2 + i).Value = Cells(3, 2).Value - Somme
Loop Until Abs(WorksheetFunction.Sum(Range(Cells(3, 2), Cells(3, PeriodesMax - 1))) - Cells(3, 2)) > 0.0001 |
Partager