Salut !

Je viens vers vous car j'ai un petit problème avec ma fonction if :

J'ai voulu modifié ma boucle en rajoutant une condition. Quand je fais tourner ma macro, aucun souci, ça tourne bien, mais quand je compare avec les valeurs que je devrais obtenir, j'ai l'impression que la macro ne respecte pas le dernier ELSE, qui correspond au cas ou Cumul C est supérieur à 700. C'est comme si il n'y avait que deux conditions : inférieur ou supérieur à 50.

J'ai beau repassé le code, je ne vois pas ce qui pourrait faire ça... Si vous avez une minute pour regarder et m'aider,c'est sympa !

Bonne fin d'aprem, et merci !!

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
25
26
27
28
29
30
31
32
33
34
35
36
K0 = Range("C5").Offset(0, i - 1)
CumulC = Range("B17").Offset(0, i - 1)
 
 
 Do
 
   CumulC = CumulC + 2
 
If CumulC < 50 Then
 
   If Range("C11") < 395 Then
        Ki = K0 - 1.7792 * 10 ^ -3 * 2
    Else
        Ki = K0 - 1.5 * 10 ^ -4 * 2
    End If
 
ElseIf 50 <= CumulC < 700 Then
 
    If Range("C11").Offset(0, i - 1).Value < 395 Then
        Ki = K0 - 0.11602 * (1 / CumulC) * 2
    Else
        Ki = K0 - 1.5 * 10 ^ -4 * 2
    End If
 
Else
 
    If Range("C11").Offset(0, i - 1).Value < 395 Then
        Ki = K0 - 1.6916 * 10 ^ -4 * 2
    Else
        Ki = K0 - 1.5 * 10 ^ -4 * 2
    End If
 
End If
        K0 = Ki
 
  Loop Until (Range("C17").Offset(0, i - 1).Value - CumulC >= -2) And (Range("C17").Offset(0, i - 1).Value - CumulC <= 2)