Bonjour,

J'ai fait un code assez compliqué par rapport au niveau de ma question. Pour autant, cela me bloque, et j'apprécierais si quelqu'un pouvait m'aider. A la limite, je ne suis même pas sûr qu'il est nécessaire de comprendre le code pour me débloquer...

Quand je lance le code plus bas, un message s'affiche : "Loop without Do". Pour autant j'ai mis un Do au début de ma boucle...

Code : Sélectionner tout - Visualiser dans une fenêtre à part
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

Quelqu'un saurait-il m'aider ?