Bonjour,
Qui peut m'expliquer cette bizarrerie de VB?
Bien sûr la valeur de la variable 1 est identique à la variable 2,Code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19 Private Sub Form_Load() Dim var1 As Single Dim var2 As Single Dim var3 As Single var2 = 0.21 var3 = 21 var1 = var3 / 100 Debug.Print var1, var2 If var1 = var2 Then Debug.Print "je passe dans la condition" Else Debug.Print "je ne passe pas dans la condition" End If Stop End Sub
et je passe par le if, mais si j'ajoute une décimale
Les valeurs des deux variables sont identiques,Code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19 Private Sub Form_Load() Dim var1 As Single Dim var2 As Single Dim var3 As Single var2 = 0.211 var3 = 21.1 var1 = var3 / 100 Debug.Print var1, var2 If var1 = var2 Then Debug.Print "je passe dans la condition" Else Debug.Print "je ne passe pas dans la condition" End If Stop End Sub
mais je ne passe pas par le if, idem si les variables sont de type variant ou double.
Par contre si je les définis comme ceci
Là , je passe bien par le if sans problème.Code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18 Private Sub Form_Load() Dim var1 As Currency Dim var2 As Currency Dim var3 As Currency var2 = 0.211 var3 = 21.1 var1 = var3 / 100 Debug.Print var1, var2 If var1 = var2 Then Debug.Print "je passe dans la condition" Else Debug.Print "je ne passe pas dans la condition" End If Stop End Sub