Erreur dépassement de capacité
Bonjour à tous,
J'ai toujours un souci avec le meme programme que je créais
J'ai finis de l'écrire mais quand je lance la macro, j'ai une erreur dépassement de capacité...j'ai beau chercheé, je trouve pas...la majorité de mes variable sont définies en double et en long, sauf deux en date. C'est suffisant je suppose, non?
bonjour,
difficile de t'aider sans voir le code
Désolée
J'ai oublié le code c'est vrai. Le voici:
Sub Cigares()
Dim one As String
Dim X As Long
Dim Y As Long
Dim ron As Variant
Dim rav As Variant
Dim dens As Double
Dim Init As Double
Dim Fin As Double
Dim débit As Double
one = Sheets("Cigares").Range("C5").Value
X = CLng(Sheets("Cigares").Range("C8").Value)
Y = CLng(Sheets("Cigares").Range("C10").Value)
ron = CVar(Sheets("Cigares").Range("F8").Value)
rav = CVar(Sheets("Cigares").Range("F10").Value)
dens = CDbl(Sheets("Cigares").Range("H8").Value)
Init = CDbl(Sheets("Cigares").Range("A12").Value)
Fin = CDbl(Sheets("Cigares").Range("A13").Value)
débit = CDbl(Sheets("Cigares").Range("J8").Value)
Select Case one
Case "B1061"
If X <= 260 Then
Init = (0.052 * X ^ 2) + (8.623 * X) - 58.37
ElseIf 260 < X <= 790 Then
Init = (0.019 * X ^ 2) + (22.11 * X) - 1596
ElseIf 790 < X <= 1140 Then
Init = (0.007 * X ^ 2) + (37.61 * X) - 6329
ElseIf 1140 < X <= 1790 Then
Init = (0.002 * X ^ 2) + (49.99 * X) - 13743
ElseIf 1790 < X <= 2060 Then
Init = (-0.007 * X ^ 2) + (81.75 * X) - 42156
ElseIf 2060 < X <= 2190 Then
Init = (-0.012 * X ^ 2) + (104.3 * X) - 67791
ElseIf 2190 < X <= 2370 Then
Init = (-0.015 * X ^ 2) + (117.2 * X) - 82003
ElseIf 2370 < X <= 2450 Then
Init = (-0.021 * X ^ 2) + (149.9 * X) - 126239
ElseIf 2450 < X <= 2570 Then
Init = (-0.023 * X ^ 2) + (159.1 * X) - 137205
ElseIf 2570 < X <= 2690 Then
Init = (-0.026 * X ^ 2) + (176.1 * X) - 161594
ElseIf 2690 < X <= 2770 Then
Init = (-0.043 * X ^ 2) + (270.5 * X) - 293049
ElseIf 2770 < X <= 2890 Then
Init = (-0.054 * X ^ 2) + (332.2 * X) - 380020
Else
Init = (-0.103 * X ^ 2) + (618.4 * X) - 798294
End If
If Y <= 260 Then
Fin = (0.052 * Y ^ 2) + (8.623 * Y) - 58.37
ElseIf 260 < Y <= 790 Then
Fin = (0.019 * Y ^ 2) + (22.11 * Y) - 1596
ElseIf 790 < Y <= 1140 Then
Fin = (0.007 * Y ^ 2) + (37.61 * Y) - 6329
ElseIf 1140 < Y <= 1790 Then
Fin = (0.002 * Y ^ 2) + (49.99 * Y) - 13743
ElseIf 1790 < Y <= 2060 Then
Fin = (-0.007 * Y ^ 2) + (81.75 * Y) - 42156
ElseIf 2060 < Y <= 2190 Then
Fin = (-0.012 * Y ^ 2) + (104.3 * Y) - 67791
ElseIf 2190 < Y <= 2370 Then
Fin = (-0.015 * Y ^ 2) + (117.2 * Y) - 82003
ElseIf 2370 < Y <= 2450 Then
Fin = (-0.021 * Y ^ 2) + (149.9 * Y) - 126239
ElseIf 2450 < Y <= 2570 Then
Fin = (-0.023 * Y ^ 2) + (159.1 * Y) - 137205
ElseIf 2570 < Y <= 2690 Then
Fin = (-0.026 * Y ^ 2) + (176.1 * Y) - 161594
ElseIf 2690 < Y <= 2770 Then
Fin = (-0.043 * Y ^ 2) + (270.5 * Y) - 293049
ElseIf 2770 < Y <= 2890 Then
Fin = (-0.054 * Y ^ 2) + (332.2 * Y) - 380020
Else
Fin = (-0.103 * Y ^ 2) + (618.4 * Y) - 798294
End If
Case "B1062"
If X <= 270 Then
Init = (0.049 * X ^ 2) + (9.246 * X) - 90.62
ElseIf 270 < X <= 720 Then
Init = (0.02 * X ^ 2) + (21.45 * X) - 1480
ElseIf 720 < X <= 1210 Then
Init = (0.009 * X ^ 2) + (35.03 * X) - 5758
ElseIf 1210 < X <= 1430 Then
Init = (0.001 * X ^ 2) + (51.29 * X) - 13743
ElseIf 1430 < X <= 1860 Then
Init = (-0.001 * X ^ 2) + (59.6 * X) - 21532
ElseIf 1860 < X <= 2280 Then
Init = (-0.007 * X ^ 2) + (80.82 * X) - 40630
ElseIf 2280 < X <= 2400 Then
Init = (-0.016 * X ^ 2) + (123.3 * X) - 91077
ElseIf 2400 < X <= 2680 Then
Init = (-0.02 * X ^ 2) + (141.6 * X) - 112352
Else
Init = (-0.05 * X ^ 2) + (305.9 * X) - 337797
End If
If Y <= 270 Then
Fin = (0.049 * Y ^ 2) + (9.246 * Y) - 90.62
ElseIf 270 < Y <= 720 Then
Fin = (0.02 * Y ^ 2) + (21.45 * Y) - 1480
ElseIf 720 < Y <= 1210 Then
Fin = (0.009 * Y ^ 2) + (35.03 * Y) - 5758
ElseIf 1210 < Y <= 1430 Then
Fin = (0.001 * Y ^ 2) + (51.29 * Y) - 13743
ElseIf 1430 < Y <= 1860 Then
Fin = (-0.001 * Y ^ 2) + (59.6 * Y) - 21532
ElseIf 1860 < Y <= 2280 Then
Fin = (-0.007 * Y ^ 2) + (80.82 * Y) - 40630
ElseIf 2280 < Y <= 2400 Then
Fin = (-0.016 * Y ^ 2) + (123.3 * Y) - 91077
ElseIf 2400 < Y <= 2680 Then
Fin = (-0.02 * Y ^ 2) + (141.6 * Y) - 112352
Else
Fin = (-0.05 * Y ^ 2) + (305.9 * Y) - 337797
End If
Case "B1063"
If X <= 130 Then
Init = (0.05 * X ^ 2) + (1.958 * X) - 1.457
ElseIf 130 < X <= 370 Then
Init = (0.016 * X ^ 2) + (6.519 * X) - 201
ElseIf 370 < X <= 690 Then
Init = (0.008 * X ^ 2) + (11.28 * X) - 1001
ElseIf 690 < X <= 970 Then
Init = (0.004 * X ^ 2) + (16.06 * X) - 2093
ElseIf 970 < X <= 1140 Then
Init = (0.002 * X ^ 2) + (19.65 * X) - 3327
ElseIf 1140 < X <= 1900 Then
Init = (26.99 * X) - 9038
ElseIf 1900 < X <= 2310 Then
Init = (24.4 * X) - 4113
ElseIf 2310 < X <= 2460 Then
Init = (-0.007 * X ^ 2) + (57.18 * X) - 42843
ElseIf 2460 < X <= 2630 Then
Init = (-0.009 * X ^ 2) + (66.22 * X) - 53266
ElseIf 2630 < X <= 2800 Then
Init = (-0.016 * X ^ 2) + (103.7 * X) - 103858
Else
Init = (-0.021 * X ^ 2) + (132 * X) - 144192
End If
If Y <= 130 Then
Fin = (0.05 * Y ^ 2) + (1.958 * Y) - 1.457
ElseIf 130 < Y <= 370 Then
Fin = (0.016 * Y ^ 2) + (6.519 * Y) - 201
ElseIf 370 < Y <= 690 Then
Fin = (0.008 * Y ^ 2) + (11.28 * Y) - 1001
ElseIf 690 < Y <= 970 Then
Fin = (0.004 * Y ^ 2) + (16.06 * Y) - 2093
ElseIf 970 < Y <= 1140 Then
Fin = (0.002 * Y ^ 2) + (19.65 * Y) - 3327
ElseIf 1140 < Y <= 1900 Then
Fin = (26.99 * Y) - 9038
ElseIf 1900 < Y <= 2310 Then
Fin = (24.4 * Y) - 4113
ElseIf 2310 < Y <= 2460 Then
Fin = (-0.007 * Y ^ 2) + (57.18 * Y) - 42843
ElseIf 2460 < Y <= 2630 Then
Fin = (-0.009 * Y ^ 2) + (66.22 * Y) - 53266
ElseIf 2630 < Y <= 2800 Then
Fin = (-0.016 * Y ^ 2) + (103.7 * Y) - 103858
Else
Fin = (-0.021 * Y ^ 2) + (132 * Y) - 144192
End If
Case "B1064"
If X <= 250 Then
Init = (0.05 * X ^ 2) + (8.254 * X) - 55.86
ElseIf 250 < X <= 890 Then
Init = (0.017 * X ^ 2) + (22.12 * X) - 1710
ElseIf 890 < X <= 1520 Then
Init = (0.005 * X ^ 2) + (40.42 * X) - 8520
ElseIf 1520 < X <= 1930 Then
Init = (53.83 * X) - 17695
ElseIf 1930 < X <= 2330 Then
Init = (48.14 * X) - 6653
ElseIf 2330 < X <= 2420 Then
Init = (-0.023 * X ^ 2) + (156.6 * X) - 134852
ElseIf 2420 < X <= 2850 Then
Init = (-0.02 * X ^ 2) + (139.5 * X) - 111523
Else
Init = (-0.055 * X ^ 2) + (338.2 * X) - 393783
End If
If Y <= 250 Then
Fin = (0.05 * Y ^ 2) + (8.254 * Y) - 55.86
ElseIf 250 < Y <= 890 Then
Fin = (0.017 * Y ^ 2) + (22.12 * Y) - 1710
ElseIf 890 < Y <= 1520 Then
Fin = (0.005 * Y ^ 2) + (40.42 * Y) - 8520
ElseIf 1520 < Y <= 1930 Then
Fin = (53.83 * Y) - 17695
ElseIf 1930 < Y <= 2330 Then
Fin = (48.14 * Y) - 6653
ElseIf 2330 < Y <= 2420 Then
Fin = (-0.023 * Y ^ 2) + (156.6 * Y) - 134852
ElseIf 2420 < Y <= 2850 Then
Fin = (-0.02 * Y ^ 2) + (139.5 * Y) - 111523
Else
Fin = (-0.055 * Y ^ 2) + (338.2 * Y) - 393783
End If
Case "B1065"
If X <= 260 Then
Init = (0.051 * X ^ 2) + (8.502 * X) - 57.54
ElseIf 260 < X <= 490 Then
Init = (0.017 * X ^ 2) + (23.09 * X) - 1803
ElseIf 490 < X <= 1080 Then
Init = (0.011 * X ^ 2) + (31.28 * X) - 4361
ElseIf 1080 < X <= 1920 Then
Init = (55.16 * X) - 17662
ElseIf 1920 < X <= 2030 Then
Init = (-0.009 * X ^ 2) + (91.55 * X) - 54699
ElseIf 2030 < X <= 2150 Then
Init = (-0.011 * X ^ 2) + (100.4 * X) - 64876
ElseIf 2150 < X <= 2630 Then
Init = (-0.013 * X ^ 2) + (106.1 * X) - 68138
Else
Init = (-0.035 * X ^ 2) + (222.7 * X) - 223072
End If
If Y <= 260 Then
Fin = (0.051 * Y ^ 2) + (8.502 * Y) - 57.54
ElseIf 260 < Y <= 490 Then
Fin = (0.017 * Y ^ 2) + (23.09 * Y) - 1803
ElseIf 490 < Y <= 1080 Then
Fin = (0.011 * Y ^ 2) + (31.28 * Y) - 4361
ElseIf 1080 < Y <= 1920 Then
Fin = (55.16 * Y) - 17662
ElseIf 1920 < Y <= 2030 Then
Fin = (-0.009 * Y ^ 2) + (91.55 * Y) - 54699
ElseIf 2030 < Y <= 2150 Then
Fin = (-0.011 * Y ^ 2) + (100.4 * Y) - 64876
ElseIf 2150 < Y <= 2630 Then
Fin = (-0.013 * Y ^ 2) + (106.1 * Y) - 68138
Else
Fin = (-0.035 * Y ^ 2) + (222.7 * Y) - 223072
End If
Case "B1066"
If X <= 320 Then
Init = (0.043 * X ^ 2) + (9.211 * X) - 81.9
ElseIf 320 < X <= 940 Then
Init = (0.015 * X ^ 2) + (23.35 * X) - 1746
ElseIf 940 < X <= 1320 Then
Init = (0.001 * X ^ 2) + (47.78 * X) - 12402
ElseIf 1320 < X <= 1780 Then
Init = (52.18 * X) - 16183
ElseIf 1780 < X <= 2190 Then
Init = (-0.007 * X ^ 2) + (76.72 * X) - 38077
ElseIf 2190 < X <= 2720 Then
Init = (-0.017 * X ^ 2) + (119.5 * X) - 84058
Else
Init = (-0.054 * X ^ 2) + (319.7 * X) - 355117
End If
If Y <= 320 Then
Fin = (0.043 * Y ^ 2) + (9.211 * Y) - 81.9
ElseIf 320 < Y <= 940 Then
Fin = (0.015 * Y ^ 2) + (23.35 * Y) - 1746
ElseIf 940 < Y <= 1320 Then
Fin = (0.001 * Y ^ 2) + (47.78 * Y) - 12402
ElseIf 1320 < Y <= 1780 Then
Fin = (52.18 * Y) - 16183
ElseIf 1780 < Y <= 2190 Then
Fin = (-0.007 * Y ^ 2) + (76.72 * Y) - 38077
ElseIf 2190 < Y <= 2720 Then
Fin = (-0.017 * Y ^ 2) + (119.5 * Y) - 84058
Else
Fin = (-0.054 * Y ^ 2) + (319.7 * Y) - 355117
End If
Case "B1067"
If X <= 270 Then
Init = (0.049 * X ^ 2) + (8.24 * X) - 55.8
ElseIf 270 < X <= 750 Then
Init = (0.018 * X ^ 2) + (21.35 * X) - 1573
ElseIf 750 < X <= 1460 Then
Init = (0.007 * X ^ 2) + (35.16 * X) - 5802
ElseIf 1460 < X <= 1790 Then
Init = (-0.003 * X ^ 2) + (63.09 * X) - 25657
ElseIf 1790 < X <= 2290 Then
Init = (-0.008 * X ^ 2) + (80.73 * X) - 41599
ElseIf 2290 < X <= 2430 Then
Init = (-0.018 * X ^ 2) + (127.9 * X) - 97639
ElseIf 2430 < X <= 2800 Then
Init = (-0.024 * X ^ 2) + (155.2 * X) - 128892
ElseIf 2800 < X <= 2870 Then
Init = (-0.085 * X ^ 2) + (498.1 * X) - 611183
Else
Init = 118.13
End If
If Y <= 270 Then
Fin = (0.049 * Y ^ 2) + (8.24 * Y) - 55.8
ElseIf 270 < Y <= 750 Then
Fin = (0.018 * Y ^ 2) + (21.35 * Y) - 1573
ElseIf 750 < Y <= 1460 Then
Fin = (0.007 * Y ^ 2) + (35.16 * Y) - 5802
ElseIf 1460 < Y <= 1790 Then
Fin = (-0.003 * Y ^ 2) + (63.09 * Y) - 25657
ElseIf 1790 < Y <= 2290 Then
Fin = (-0.008 * Y ^ 2) + (80.73 * Y) - 41599
ElseIf 2290 < Y <= 2430 Then
Fin = (-0.018 * Y ^ 2) + (127.9 * Y) - 97639
ElseIf 2430 < Y <= 2800 Then
Fin = (-0.024 * Y ^ 2) + (155.2 * Y) - 128892
ElseIf 2800 < Y <= 2870 Then
Fin = (-0.085 * Y ^ 2) + (498.1 * Y) - 611183
Else
Fin = 118.13
End If
Case Else
If X <= 290 Then
Init = (0.054 * X ^ 2) + (11.22 * X) - 99.38
ElseIf 290 < X <= 600 Then
Init = (0.02 * X ^ 2) + (27.66 * X) - 2296
ElseIf 600 < X <= 1270 Then
Init = (0.012 * X ^ 2) + (37.98 * X) - 5204
ElseIf 1270 < X <= 2060 Then
Init = (0.001 * X ^ 2) + (63.13 * X) - 19418
ElseIf 2060 < X <= 2190 Then
Init = (-0.011 * X ^ 2) + (113.2 * X) - 72091
ElseIf 2190 < X <= 2750 Then
Init = (-0.014 * X ^ 2) + (124.4 * X) - 82627
ElseIf 2750 < X <= 2840 Then
Init = (-0.031 * X ^ 2) + (220.4 * X) - 218451
Else
Init = (-0.046 * X ^ 2) + (304.9 * X) - 337992
End If
If Y <= 290 Then
Fin = (0.054 * Y ^ 2) + (11.22 * Y) - 99.38
ElseIf 290 < Y <= 600 Then
Fin = (0.02 * Y ^ 2) + (27.66 * Y) - 2296
ElseIf 600 < Y <= 1270 Then
Fin = (0.012 * Y ^ 2) + (37.98 * Y) - 5204
ElseIf 1270 < Y <= 2060 Then
Fin = (0.001 * Y ^ 2) + (63.13 * Y) - 19418
ElseIf 2060 < Y <= 2190 Then
Fin = (-0.011 * Y ^ 2) + (113.2 * Y) - 72091
ElseIf 2190 < Y <= 2750 Then
Fin = (-0.014 * Y ^ 2) + (124.4 * Y) - 82627
ElseIf 2750 < Y <= 2840 Then
Fin = (-0.031 * Y ^ 2) + (220.4 * Y) - 218451
Else
Fin = (-0.046 * Y ^ 2) + (304.9 * Y) - 337992
End If
End Select
débit = ((((Fin - Init) * 10 ^ -3) * (dens * 10 ^ -3)) / ((rav - ron) * 24))
Sheets("Cigares").Range("J8").Value = débit
Sheets("cigares").Range("A12").Value = Init
Sheets("Cigares").Range("A13").Value = Fin
End Sub
Je sais, il est plutôt long
Bonsoir,
Lorsque tu crées un message en haut tu as un bouton nommé |code| il te permet de créer 2 tags pour mettre le code dedans
comme ceci
Sub Cigares()
Dim one As String
Dim X As Long
Dim Y As Long
Dim ron As Variant
Dim rav As Variant
Dim dens As Double
Dim Init As Double
Dim Fin As Double
Dim débit As Double
one = Sheets("Cigares").Range("C5").Value
X = CLng(Sheets("Cigares").Range("C8").Value)
Y = CLng(Sheets("Cigares").Range("C10").Value)
ron = CVar(Sheets("Cigares").Range("F8").Value)
rav = CVar(Sheets("Cigares").Range("F10").Value)
dens = CDbl(Sheets("Cigares").Range("H8").Value)
Init = CDbl(Sheets("Cigares").Range("A12").Value)
Fin = CDbl(Sheets("Cigares").Range("A13").Value)
débit = CDbl(Sheets("Cigares").Range("J8").Value)
Select Case one
Case "B1061"
If X <= 260 Then
Init = (0.052 * X ^ 2) + (8.623 * X) - 58.37
ElseIf 260 < X <= 790 Then
Init = (0.019 * X ^ 2) + (22.11 * X) - 1596
ElseIf 790 < X <= 1140 Then
Init = (0.007 * X ^ 2) + (37.61 * X) - 6329
ElseIf 1140 < X <= 1790 Then
Init = (0.002 * X ^ 2) + (49.99 * X) - 13743
ElseIf 1790 < X <= 2060 Then
Init = (-0.007 * X ^ 2) + (81.75 * X) - 42156
ElseIf 2060 < X <= 2190 Then
Init = (-0.012 * X ^ 2) + (104.3 * X) - 67791
ElseIf 2190 < X <= 2370 Then
Init = (-0.015 * X ^ 2) + (117.2 * X) - 82003
ElseIf 2370 < X <= 2450 Then
Init = (-0.021 * X ^ 2) + (149.9 * X) - 126239
ElseIf 2450 < X <= 2570 Then
Init = (-0.023 * X ^ 2) + (159.1 * X) - 137205
ElseIf 2570 < X <= 2690 Then
Init = (-0.026 * X ^ 2) + (176.1 * X) - 161594
ElseIf 2690 < X <= 2770 Then
Init = (-0.043 * X ^ 2) + (270.5 * X) - 293049
ElseIf 2770 < X <= 2890 Then
Init = (-0.054 * X ^ 2) + (332.2 * X) - 380020
Else
Init = (-0.103 * X ^ 2) + (618.4 * X) - 798294
End If
If Y <= 260 Then
Fin = (0.052 * Y ^ 2) + (8.623 * Y) - 58.37
ElseIf 260 < Y <= 790 Then
Fin = (0.019 * Y ^ 2) + (22.11 * Y) - 1596
ElseIf 790 < Y <= 1140 Then
Fin = (0.007 * Y ^ 2) + (37.61 * Y) - 6329
ElseIf 1140 < Y <= 1790 Then
Fin = (0.002 * Y ^ 2) + (49.99 * Y) - 13743
ElseIf 1790 < Y <= 2060 Then
Fin = (-0.007 * Y ^ 2) + (81.75 * Y) - 42156
ElseIf 2060 < Y <= 2190 Then
Fin = (-0.012 * Y ^ 2) + (104.3 * Y) - 67791
ElseIf 2190 < Y <= 2370 Then
Fin = (-0.015 * Y ^ 2) + (117.2 * Y) - 82003
ElseIf 2370 < Y <= 2450 Then
Fin = (-0.021 * Y ^ 2) + (149.9 * Y) - 126239
ElseIf 2450 < Y <= 2570 Then
Fin = (-0.023 * Y ^ 2) + (159.1 * Y) - 137205
ElseIf 2570 < Y <= 2690 Then
Fin = (-0.026 * Y ^ 2) + (176.1 * Y) - 161594
ElseIf 2690 < Y <= 2770 Then
Fin = (-0.043 * Y ^ 2) + (270.5 * Y) - 293049
ElseIf 2770 < Y <= 2890 Then
Fin = (-0.054 * Y ^ 2) + (332.2 * Y) - 380020
Else
Fin = (-0.103 * Y ^ 2) + (618.4 * Y) - 798294
End If
Case "B1062"
If X <= 270 Then
Init = (0.049 * X ^ 2) + (9.246 * X) - 90.62
ElseIf 270 < X <= 720 Then
Init = (0.02 * X ^ 2) + (21.45 * X) - 1480
ElseIf 720 < X <= 1210 Then
Init = (0.009 * X ^ 2) + (35.03 * X) - 5758
ElseIf 1210 < X <= 1430 Then
Init = (0.001 * X ^ 2) + (51.29 * X) - 13743
ElseIf 1430 < X <= 1860 Then
Init = (-0.001 * X ^ 2) + (59.6 * X) - 21532
ElseIf 1860 < X <= 2280 Then
Init = (-0.007 * X ^ 2) + (80.82 * X) - 40630
ElseIf 2280 < X <= 2400 Then
Init = (-0.016 * X ^ 2) + (123.3 * X) - 91077
ElseIf 2400 < X <= 2680 Then
Init = (-0.02 * X ^ 2) + (141.6 * X) - 112352
Else
Init = (-0.05 * X ^ 2) + (305.9 * X) - 337797
End If
If Y <= 270 Then
Fin = (0.049 * Y ^ 2) + (9.246 * Y) - 90.62
ElseIf 270 < Y <= 720 Then
Fin = (0.02 * Y ^ 2) + (21.45 * Y) - 1480
ElseIf 720 < Y <= 1210 Then
Fin = (0.009 * Y ^ 2) + (35.03 * Y) - 5758
ElseIf 1210 < Y <= 1430 Then
Fin = (0.001 * Y ^ 2) + (51.29 * Y) - 13743
ElseIf 1430 < Y <= 1860 Then
Fin = (-0.001 * Y ^ 2) + (59.6 * Y) - 21532
ElseIf 1860 < Y <= 2280 Then
Fin = (-0.007 * Y ^ 2) + (80.82 * Y) - 40630
ElseIf 2280 < Y <= 2400 Then
Fin = (-0.016 * Y ^ 2) + (123.3 * Y) - 91077
ElseIf 2400 < Y <= 2680 Then
Fin = (-0.02 * Y ^ 2) + (141.6 * Y) - 112352
Else
Fin = (-0.05 * Y ^ 2) + (305.9 * Y) - 337797
End If
Case "B1063"
If X <= 130 Then
Init = (0.05 * X ^ 2) + (1.958 * X) - 1.457
ElseIf 130 < X <= 370 Then
Init = (0.016 * X ^ 2) + (6.519 * X) - 201
ElseIf 370 < X <= 690 Then
Init = (0.008 * X ^ 2) + (11.28 * X) - 1001
ElseIf 690 < X <= 970 Then
Init = (0.004 * X ^ 2) + (16.06 * X) - 2093
ElseIf 970 < X <= 1140 Then
Init = (0.002 * X ^ 2) + (19.65 * X) - 3327
ElseIf 1140 < X <= 1900 Then
Init = (26.99 * X) - 9038
ElseIf 1900 < X <= 2310 Then
Init = (24.4 * X) - 4113
ElseIf 2310 < X <= 2460 Then
Init = (-0.007 * X ^ 2) + (57.18 * X) - 42843
ElseIf 2460 < X <= 2630 Then
Init = (-0.009 * X ^ 2) + (66.22 * X) - 53266
ElseIf 2630 < X <= 2800 Then
Init = (-0.016 * X ^ 2) + (103.7 * X) - 103858
Else
Init = (-0.021 * X ^ 2) + (132 * X) - 144192
End If
If Y <= 130 Then
Fin = (0.05 * Y ^ 2) + (1.958 * Y) - 1.457
ElseIf 130 < Y <= 370 Then
Fin = (0.016 * Y ^ 2) + (6.519 * Y) - 201
ElseIf 370 < Y <= 690 Then
Fin = (0.008 * Y ^ 2) + (11.28 * Y) - 1001
ElseIf 690 < Y <= 970 Then
Fin = (0.004 * Y ^ 2) + (16.06 * Y) - 2093
ElseIf 970 < Y <= 1140 Then
Fin = (0.002 * Y ^ 2) + (19.65 * Y) - 3327
ElseIf 1140 < Y <= 1900 Then
Fin = (26.99 * Y) - 9038
ElseIf 1900 < Y <= 2310 Then
Fin = (24.4 * Y) - 4113
ElseIf 2310 < Y <= 2460 Then
Fin = (-0.007 * Y ^ 2) + (57.18 * Y) - 42843
ElseIf 2460 < Y <= 2630 Then
Fin = (-0.009 * Y ^ 2) + (66.22 * Y) - 53266
ElseIf 2630 < Y <= 2800 Then
Fin = (-0.016 * Y ^ 2) + (103.7 * Y) - 103858
Else
Fin = (-0.021 * Y ^ 2) + (132 * Y) - 144192
End If
Case "B1064"
If X <= 250 Then
Init = (0.05 * X ^ 2) + (8.254 * X) - 55.86
ElseIf 250 < X <= 890 Then
Init = (0.017 * X ^ 2) + (22.12 * X) - 1710
ElseIf 890 < X <= 1520 Then
Init = (0.005 * X ^ 2) + (40.42 * X) - 8520
ElseIf 1520 < X <= 1930 Then
Init = (53.83 * X) - 17695
ElseIf 1930 < X <= 2330 Then
Init = (48.14 * X) - 6653
ElseIf 2330 < X <= 2420 Then
Init = (-0.023 * X ^ 2) + (156.6 * X) - 134852
ElseIf 2420 < X <= 2850 Then
Init = (-0.02 * X ^ 2) + (139.5 * X) - 111523
Else
Init = (-0.055 * X ^ 2) + (338.2 * X) - 393783
End If
If Y <= 250 Then
Fin = (0.05 * Y ^ 2) + (8.254 * Y) - 55.86
ElseIf 250 < Y <= 890 Then
Fin = (0.017 * Y ^ 2) + (22.12 * Y) - 1710
ElseIf 890 < Y <= 1520 Then
Fin = (0.005 * Y ^ 2) + (40.42 * Y) - 8520
ElseIf 1520 < Y <= 1930 Then
Fin = (53.83 * Y) - 17695
ElseIf 1930 < Y <= 2330 Then
Fin = (48.14 * Y) - 6653
ElseIf 2330 < Y <= 2420 Then
Fin = (-0.023 * Y ^ 2) + (156.6 * Y) - 134852
ElseIf 2420 < Y <= 2850 Then
Fin = (-0.02 * Y ^ 2) + (139.5 * Y) - 111523
Else
Fin = (-0.055 * Y ^ 2) + (338.2 * Y) - 393783
End If
Case "B1065"
If X <= 260 Then
Init = (0.051 * X ^ 2) + (8.502 * X) - 57.54
ElseIf 260 < X <= 490 Then
Init = (0.017 * X ^ 2) + (23.09 * X) - 1803
ElseIf 490 < X <= 1080 Then
Init = (0.011 * X ^ 2) + (31.28 * X) - 4361
ElseIf 1080 < X <= 1920 Then
Init = (55.16 * X) - 17662
ElseIf 1920 < X <= 2030 Then
Init = (-0.009 * X ^ 2) + (91.55 * X) - 54699
ElseIf 2030 < X <= 2150 Then
Init = (-0.011 * X ^ 2) + (100.4 * X) - 64876
ElseIf 2150 < X <= 2630 Then
Init = (-0.013 * X ^ 2) + (106.1 * X) - 68138
Else
Init = (-0.035 * X ^ 2) + (222.7 * X) - 223072
End If
If Y <= 260 Then
Fin = (0.051 * Y ^ 2) + (8.502 * Y) - 57.54
ElseIf 260 < Y <= 490 Then
Fin = (0.017 * Y ^ 2) + (23.09 * Y) - 1803
ElseIf 490 < Y <= 1080 Then
Fin = (0.011 * Y ^ 2) + (31.28 * Y) - 4361
ElseIf 1080 < Y <= 1920 Then
Fin = (55.16 * Y) - 17662
ElseIf 1920 < Y <= 2030 Then
Fin = (-0.009 * Y ^ 2) + (91.55 * Y) - 54699
ElseIf 2030 < Y <= 2150 Then
Fin = (-0.011 * Y ^ 2) + (100.4 * Y) - 64876
ElseIf 2150 < Y <= 2630 Then
Fin = (-0.013 * Y ^ 2) + (106.1 * Y) - 68138
Else
Fin = (-0.035 * Y ^ 2) + (222.7 * Y) - 223072
End If
Case "B1066"
If X <= 320 Then
Init = (0.043 * X ^ 2) + (9.211 * X) - 81.9
ElseIf 320 < X <= 940 Then
Init = (0.015 * X ^ 2) + (23.35 * X) - 1746
ElseIf 940 < X <= 1320 Then
Init = (0.001 * X ^ 2) + (47.78 * X) - 12402
ElseIf 1320 < X <= 1780 Then
Init = (52.18 * X) - 16183
ElseIf 1780 < X <= 2190 Then
Init = (-0.007 * X ^ 2) + (76.72 * X) - 38077
ElseIf 2190 < X <= 2720 Then
Init = (-0.017 * X ^ 2) + (119.5 * X) - 84058
Else
Init = (-0.054 * X ^ 2) + (319.7 * X) - 355117
End If
If Y <= 320 Then
Fin = (0.043 * Y ^ 2) + (9.211 * Y) - 81.9
ElseIf 320 < Y <= 940 Then
Fin = (0.015 * Y ^ 2) + (23.35 * Y) - 1746
ElseIf 940 < Y <= 1320 Then
Fin = (0.001 * Y ^ 2) + (47.78 * Y) - 12402
ElseIf 1320 < Y <= 1780 Then
Fin = (52.18 * Y) - 16183
ElseIf 1780 < Y <= 2190 Then
Fin = (-0.007 * Y ^ 2) + (76.72 * Y) - 38077
ElseIf 2190 < Y <= 2720 Then
Fin = (-0.017 * Y ^ 2) + (119.5 * Y) - 84058
Else
Fin = (-0.054 * Y ^ 2) + (319.7 * Y) - 355117
End If
Case "B1067"
If X <= 270 Then
Init = (0.049 * X ^ 2) + (8.24 * X) - 55.8
ElseIf 270 < X <= 750 Then
Init = (0.018 * X ^ 2) + (21.35 * X) - 1573
ElseIf 750 < X <= 1460 Then
Init = (0.007 * X ^ 2) + (35.16 * X) - 5802
ElseIf 1460 < X <= 1790 Then
Init = (-0.003 * X ^ 2) + (63.09 * X) - 25657
ElseIf 1790 < X <= 2290 Then
Init = (-0.008 * X ^ 2) + (80.73 * X) - 41599
ElseIf 2290 < X <= 2430 Then
Init = (-0.018 * X ^ 2) + (127.9 * X) - 97639
ElseIf 2430 < X <= 2800 Then
Init = (-0.024 * X ^ 2) + (155.2 * X) - 128892
ElseIf 2800 < X <= 2870 Then
Init = (-0.085 * X ^ 2) + (498.1 * X) - 611183
Else
Init = 118.13
End If
If Y <= 270 Then
Fin = (0.049 * Y ^ 2) + (8.24 * Y) - 55.8
ElseIf 270 < Y <= 750 Then
Fin = (0.018 * Y ^ 2) + (21.35 * Y) - 1573
ElseIf 750 < Y <= 1460 Then
Fin = (0.007 * Y ^ 2) + (35.16 * Y) - 5802
ElseIf 1460 < Y <= 1790 Then
Fin = (-0.003 * Y ^ 2) + (63.09 * Y) - 25657
ElseIf 1790 < Y <= 2290 Then
Fin = (-0.008 * Y ^ 2) + (80.73 * Y) - 41599
ElseIf 2290 < Y <= 2430 Then
Fin = (-0.018 * Y ^ 2) + (127.9 * Y) - 97639
ElseIf 2430 < Y <= 2800 Then
Fin = (-0.024 * Y ^ 2) + (155.2 * Y) - 128892
ElseIf 2800 < Y <= 2870 Then
Fin = (-0.085 * Y ^ 2) + (498.1 * Y) - 611183
Else
Fin = 118.13
End If
Case Else
If X <= 290 Then
Init = (0.054 * X ^ 2) + (11.22 * X) - 99.38
ElseIf 290 < X <= 600 Then
Init = (0.02 * X ^ 2) + (27.66 * X) - 2296
ElseIf 600 < X <= 1270 Then
Init = (0.012 * X ^ 2) + (37.98 * X) - 5204
ElseIf 1270 < X <= 2060 Then
Init = (0.001 * X ^ 2) + (63.13 * X) - 19418
ElseIf 2060 < X <= 2190 Then
Init = (-0.011 * X ^ 2) + (113.2 * X) - 72091
ElseIf 2190 < X <= 2750 Then
Init = (-0.014 * X ^ 2) + (124.4 * X) - 82627
ElseIf 2750 < X <= 2840 Then
Init = (-0.031 * X ^ 2) + (220.4 * X) - 218451
Else
Init = (-0.046 * X ^ 2) + (304.9 * X) - 337992
End If
If Y <= 290 Then
Fin = (0.054 * Y ^ 2) + (11.22 * Y) - 99.38
ElseIf 290 < Y <= 600 Then
Fin = (0.02 * Y ^ 2) + (27.66 * Y) - 2296
ElseIf 600 < Y <= 1270 Then
Fin = (0.012 * Y ^ 2) + (37.98 * Y) - 5204
ElseIf 1270 < Y <= 2060 Then
Fin = (0.001 * Y ^ 2) + (63.13 * Y) - 19418
ElseIf 2060 < Y <= 2190 Then
Fin = (-0.011 * Y ^ 2) + (113.2 * Y) - 72091
ElseIf 2190 < Y <= 2750 Then
Fin = (-0.014 * Y ^ 2) + (124.4 * Y) - 82627
ElseIf 2750 < Y <= 2840 Then
Fin = (-0.031 * Y ^ 2) + (220.4 * Y) - 218451
Else
Fin = (-0.046 * Y ^ 2) + (304.9 * Y) - 337992
End If
End Select
débit = ((((Fin - Init) * 10 ^ -3) * (dens * 10 ^ -3)) / ((rav - ron) * 24))
Sheets("Cigares").Range("J8").Value = débit
Sheets("cigares").Range("A12").Value = Init
Sheets("Cigares").Range("A13").Value = Fin
End SubSinon comme ça, (édit : à part tous les tests qui ne sont pas bon), le reste semble correcte
Sais-tu sur qu'elle ligne cela bogue
A+
Bonsoir,
en regardant ton code de plus près je vois que tes tests n'ont pas la syntaxe correcte. Je ne pense pas que cela explique le problème de dépassement de capacité mais en tout cas les tests ne donnent pas le résultat correct.
quand tu écris
ElseIf 1790 < X <= 2060 Thentu devrais écrire
ElseIf X> 1790 and X <= 2060 Thenet ceci pour tous les tests où tu as utilisé cette syntaxe.
pour le reste, comme demandé par Bruno - que je salue -, indique-nous la ligne sur laquelle tu reçois l'erreur.
Salut H2so4
Tellement à chercher la petite bête que je suis carrément passé à côté de ça
Hoooo la honte pour moi
En tout cas c'est bien vue
Au plaisir
Bonsoir,
après autres investigations, je me dis que tu as sans doute une erreur sur cette ligne-ci
débit = ((((Fin - Init) * 10 ^ -3) * (dens * 10 ^ -3)) / ((rav - ron) * 24))si rav=ron , tu as une division par 0 et dans certains cas tu reçois le message dépassement de capacité plutôt que division par zéro.
sinon je pense qu'en plus de la ligne qui donne l'erreur, ce serait bien si tu nous mettais les valeurs de one, X,Y,rav,ron et dens qui donnent ce problème.
Merci beaucoup h2So4 et BrunoM54,
je me sens vraiment bête tout d'un coup parce que je viens de remarquer qu'effectivement rav=ron
Du coup ca fait comme tu dis h2so4. Et meme sans modifier mes syntaxes <=, ca marche super. je vais pourtant le faire, juste au cas où
Merci beaucoup. Je prends note
Bonjour
si ta syntaxe des tests fonctionne c'est du pur hasard
quand tu écris
elseif 790 < x <= 1500
voici ce que tu testes
tu testes si 790 est plus petit que x et cela te donne vrai (-1) ou faux (0) , que tu compares ensuite à 1500
ce qui te donneras une condition toujours vraie, autant ne pas mettre de condition, si tes résultats sont corrects