Hello Messieurs, Mesdames
Alors je viens faire appel à la communauté car une chose bien étrange se passe dans mon code..et j'avoue être dépassé par les choses
(Je n'ai copié ci-après que la partie du code qui nous intéresse)
Voici mon code :
Dim hauteur_couche2 As Double
Dim diametre2 As Double
Dim Elan2 As Double
Dim Coef2 As Double
Dim Coef3 As Double
Dim Kh2 As Double
hauteur_couche2 = 3
diametre2 = 0.75
diametre2 = diametre2 * 0.8
'___________deuxième cylindre___________________
Elan2 = hauteur_couche2 / diametre2 'à ce stade, Elan2 vaut 5
MsgBox "Elan2 : " & Elan2
'MsgBox "hauteur_couche2 : " & hauteur_couche2
'MsgBox "diametre2 : " & diametre2
If Elan2 < 2 Then
Coef2 = 1.12
Coef3 = 1.1
ElseIf (Elan2 >= 2 And Elan2 < 3) Then
Coef2 = 1.53
Coef3 = 1.2
ElseIf (Elan2 >= 3 And Elan2 < 5) Then
Coef2 = 1.78
Coef3 = 1.3
MsgBox "nok"
ElseIf (Elan2 >= 5 And Elan2 < 20) Then 'on devrait donc rentrer ici
MsgBox "ok"
Coef2 = 2.14
Coef3 = 1.4
ElseIf Elan2 >= 20 Then
Coef2 = 2.65
Coef3 = 1.5
End If
et pourtant on rentre dans la boucle de "nok" ...et je me retrouve avec
Coef2 = 1.78
Coef3 = 1.3
alors qu'ils devraient valoir :
Qui voudrait bien m'expliquer??!
Coef2 = 2.14
Coef3 = 1.4
J'ai essayé de débugger comme un grand..mais là....mystère !!!!!
quelqu'un aurait-il une idée?
Merci à tous !!!!
Alors je viens faire appel à la communauté car une chose bien étrange se passe dans mon code..et j'avoue être dépassé par les choses
(Je n'ai copié ci-après que la partie du code qui nous intéresse)
Voici mon code :
Dim hauteur_couche2 As Double
Dim diametre2 As Double
Dim Elan2 As Double
Dim Coef2 As Double
Dim Coef3 As Double
Dim Kh2 As Double
hauteur_couche2 = 3
diametre2 = 0.75
diametre2 = diametre2 * 0.8
'___________deuxième cylindre___________________
Elan2 = hauteur_couche2 / diametre2 'à ce stade, Elan2 vaut 5
MsgBox "Elan2 : " & Elan2
'MsgBox "hauteur_couche2 : " & hauteur_couche2
'MsgBox "diametre2 : " & diametre2
If Elan2 < 2 Then
Coef2 = 1.12
Coef3 = 1.1
ElseIf (Elan2 >= 2 And Elan2 < 3) Then
Coef2 = 1.53
Coef3 = 1.2
ElseIf (Elan2 >= 3 And Elan2 < 5) Then
Coef2 = 1.78
Coef3 = 1.3
MsgBox "nok"
ElseIf (Elan2 >= 5 And Elan2 < 20) Then 'on devrait donc rentrer ici
MsgBox "ok"
Coef2 = 2.14
Coef3 = 1.4
ElseIf Elan2 >= 20 Then
Coef2 = 2.65
Coef3 = 1.5
End If
et pourtant on rentre dans la boucle de "nok" ...et je me retrouve avec
Coef2 = 1.78
Coef3 = 1.3
alors qu'ils devraient valoir :
Qui voudrait bien m'expliquer??!
Coef2 = 2.14
Coef3 = 1.4
J'ai essayé de débugger comme un grand..mais là....mystère !!!!!
quelqu'un aurait-il une idée?
Merci à tous !!!!
Pièces jointes
Dernière modification par un modérateur: