Depassement de capacité
Yaramoh
-
pijaku Messages postés 12263 Date d'inscription Statut Modérateur Dernière intervention -
pijaku Messages postés 12263 Date d'inscription Statut Modérateur Dernière intervention -
Bonjour, je ne sais pas pourquoi je reçois un msg d'erreur me disant " erreur d'execution 6" pourtant mes variable sont tous de type Long
Expliquer moi mon Erreur SVP
Function calcul_prime_totale_junior()
Dim a, M1, M2, M3, M4, M5, M6 As Long
'premier plus
If range("Ne") > range("Pj") Then
If range("Ne") - range("Nm") > 0 Then
a = range("Nm")
Else
a = range("Ne")
End If
M1 = CLng(a * 4 / range("Nm") * 1000)
Else
If range("Ne") - range("Nm") > 0 Then
a = range("Nm")
Else
a = range("Ne")
End If
M1 = CLng(a * 1000)
End If
'deuxième plus
If range("Ne") > range("Pj") Then
If range("Ne") - range("Nm") - (range("Nm") * range("Nm")) > 0 Then
a = CLng(range("Nm") * range("Nm"))
Else
a = CLng(range("Ne") - range("Nm"))
If a > 0 Then
If range("Ne") - range("Nm") - (range("Nm") * range("Nm")) > 0 Then
a = CLng(range("Nm") * range("Nm"))
Else
a = CLng(range("Ne") - range("Nm"))
End If
Else
a = 0
End If
End If
M2 = CLng((a * 4 * 1000 / range("Nm")) / range("Nm"))
Else
If range("Ne") - range("Nm") - (range("Nm") * range("Nm")) > 0 Then
a = range("Nm")
Else
a = CLng(range("Ne") - range("Nm"))
If a > 0 Then
If range("Ne") - range("Nm") - (range("Nm") * range("Nm")) > 0 Then
a = range("Nm") * range("Nm")
Else
a = CLng(range("Ne") - range("Nm"))
End If
Else
a = 0
End If
M2 = CLng(a * 1000 / range("Nm"))
End If
End If
'troisième plus
If range("Ne") > range("Pj") Then
If range("Ne") - range("Nm") - (range("Nm") * range("Nm")) > 0 Then
a = range("Nm") * range("Nm")
Else
a = range("Ne") - range("Nm")
If a > 0 Then
If range("Ne") - range("Nm") - (range("Nm") * range("Nm")) > 0 Then
a = range("Nm") * range("Nm")
Else
a = range("Ne") - range("Nm")
End If
Else
a = 0
End If
End If
M3 = CLng(a * 4 / range("Nm")) * 1000
Else
If range("Ne") - range("Nm") - (range("Nm") * range("Nm")) > 0 Then
a = range("Nm") * range("Nm")
Else
a = range("Ne") - range("Nm")
If a > 0 Then
If range("Ne") - range("Nm") - (range("Nm") * range("Nm")) > 0 Then
a = range("Nm") * range("Nm")
Else
a = range("Ne") - range("Nm")
End If
Else
a = 0
End If
M3 = CLng(a * 1000)
End If
End If
'quatrième plus
If range("Ne") > range("Pj") Then
If range("Ne") - range("Nm") - (range("Nm") * range("Nm")) - (range("Nm") * range("Nm") * range("Nm")) > 0 Then
a = range("Nm") * range("Nm") * range("Nm")
Else
a = range("Ne") - range("Nm") - (range("Nm") * range("Nm"))
If a > 0 Then
If range("Ne") - range("Nm") - (range("Nm") * range("Nm")) - (range("Nm") * range("Nm") * range("Nm")) > 0 Then
a = range("Nm") * range("Nm") * range("Nm")
Else
a = range("Ne") - range("Nm") - (range("Nm") * range("Nm"))
End If
Else
a = 0
End If
End If
M4 = CLng(a * 4 / range("Nm") * 1000 / (range("Nm") * range("Nm")))
Else
If range("Ne") - range("Nm") - (range("Nm") * range("Nm")) - (range("Nm") * range("Nm") * range("Nm")) > 0 Then
a = range("Nm") * range("Nm") * range("Nm")
Else
a = range("Ne") - range("Nm") - (range("Nm") * range("Nm"))
If a > 0 Then
If range("Ne") - range("Nm") - (range("Nm") * range("Nm")) - (range("Nm") * range("Nm") * range("Nm")) > 0 Then
a = range("Nm") * range("Nm") * range("Nm")
Else
a = range("Ne") - range("Nm") - (range("Nm") * range("Nm"))
End If
Else
a = 0
End If
M4 = CLng((a * 1000 / range("Nm")) / range("Nm"))
End If
End If
'cinquième plus
If range("Ne") > range("I5") Then
If range("Ne") - range("Nm") - (range("Nm") * range("Nm")) - range("Nm") * range("Nm") * range("Nm") > 0 Then
a = range("Nm") * range("Nm") * range("Nm")
Else
a = range("Ne") - range("Nm") - (range("Nm") * range("Nm"))
If a > 0 Then
If range("Ne") - range("Nm") - (range("Nm") * range("Nm")) - (range("Nm") * range("Nm") * range("Nm")) > 0 Then
a = range("Nm") * range("Nm") * range("Nm")
Else
a = range("Ne") - range("Nm") - (range("Nm") * range("Nm"))
End If
Else
a = 0
End If
End If
M5 = CLng(a * (4 * 1000 / range("Nm")) / range("Nm"))
Else
If range("Ne") - range("Nm") - (range("Nm") * range("Nm")) - (range("Nm") * range("Nm") * range("Nm")) > 0 Then
a = range("Nm") * range("Nm") * range("Nm")
Else
a = range("Ne") - range("Nm") - (range("Nm") * range("Nm"))
If a > 0 Then
If range("Ne") - range("Nm") - (range("Nm") * range("Nm")) - (range("Nm") * range("Nm") * range("Nm")) > 0 Then
a = range("Nm") * range("Nm") * range("Nm")
Else
a = range("Ne") - range("Nm") - (range("Nm") * range("Nm"))
End If
Else
a = 0
End If
M5 = CLng(a * 1000 / range("Nm"))
End If
End If
'sixième plus
If range("Ne") > range("Pj") Then
If range("Ne") - range("Nm") - (range("Nm") * range("Nm")) - (range("Nm") * range("Nm") * range("Nm")) > 0 Then
a = range("Nm") * range("Nm") * range("Nm")
Else
a = range("Ne") - range("Nm") - (range("Nm") * range("Nm"))
If a > 0 Then
If range("Ne") - range("Nm") - (range("Nm") * range("Nm")) - (range("Nm") * range("Nm") * range("Nm")) > 0 Then
a = range("Nm") * range("Nm") * range("Nm")
Else
a = range("Ne") - range("Nm") - (range("Nm") * range("Nm"))
End If
Else
a = 0
End If
End If
M6 = CLng(a * 4 / range("Nm") * 1000)
Else
If range("Ne") - range("Nm") - (range("Nm") * range("Nm")) - 27 > 0 Then
a = range("Nm") * range("Nm") * range("Nm")
Else
a = range("Ne") - range("Nm") - (range("Nm") * range("Nm"))
If a > 0 Then
If range("Ne") - range("Nm") - (range("Nm") * range("Nm")) - (range("Nm") * range("Nm") * range("Nm")) > 0 Then
a = range("Nm") * range("Nm") * range("Nm")
Else
a = range("Ne") - range("Nm") - (range("Nm") * range("Nm"))
End If
Else
a = 0
End If
M6 = CLng(a * 1000)
End If
End If
range("Ptj") = CLng(M1 + M2 + M3 + M4 + M5 + M6)
End Function
Aidez moi
Function calcul_prime_totale_junior()
Dim a, M1, M2, M3, M4, M5, M6 As Long
'premier plus
If range("Ne") > range("Pj") Then
If range("Ne") - range("Nm") > 0 Then
a = range("Nm")
Else
a = range("Ne")
End If
M1 = CLng(a * 4 / range("Nm") * 1000)
Else
If range("Ne") - range("Nm") > 0 Then
a = range("Nm")
Else
a = range("Ne")
End If
M1 = CLng(a * 1000)
End If
'deuxième plus
If range("Ne") > range("Pj") Then
If range("Ne") - range("Nm") - (range("Nm") * range("Nm")) > 0 Then
a = CLng(range("Nm") * range("Nm"))
Else
a = CLng(range("Ne") - range("Nm"))
If a > 0 Then
If range("Ne") - range("Nm") - (range("Nm") * range("Nm")) > 0 Then
a = CLng(range("Nm") * range("Nm"))
Else
a = CLng(range("Ne") - range("Nm"))
End If
Else
a = 0
End If
End If
M2 = CLng((a * 4 * 1000 / range("Nm")) / range("Nm"))
Else
If range("Ne") - range("Nm") - (range("Nm") * range("Nm")) > 0 Then
a = range("Nm")
Else
a = CLng(range("Ne") - range("Nm"))
If a > 0 Then
If range("Ne") - range("Nm") - (range("Nm") * range("Nm")) > 0 Then
a = range("Nm") * range("Nm")
Else
a = CLng(range("Ne") - range("Nm"))
End If
Else
a = 0
End If
M2 = CLng(a * 1000 / range("Nm"))
End If
End If
'troisième plus
If range("Ne") > range("Pj") Then
If range("Ne") - range("Nm") - (range("Nm") * range("Nm")) > 0 Then
a = range("Nm") * range("Nm")
Else
a = range("Ne") - range("Nm")
If a > 0 Then
If range("Ne") - range("Nm") - (range("Nm") * range("Nm")) > 0 Then
a = range("Nm") * range("Nm")
Else
a = range("Ne") - range("Nm")
End If
Else
a = 0
End If
End If
M3 = CLng(a * 4 / range("Nm")) * 1000
Else
If range("Ne") - range("Nm") - (range("Nm") * range("Nm")) > 0 Then
a = range("Nm") * range("Nm")
Else
a = range("Ne") - range("Nm")
If a > 0 Then
If range("Ne") - range("Nm") - (range("Nm") * range("Nm")) > 0 Then
a = range("Nm") * range("Nm")
Else
a = range("Ne") - range("Nm")
End If
Else
a = 0
End If
M3 = CLng(a * 1000)
End If
End If
'quatrième plus
If range("Ne") > range("Pj") Then
If range("Ne") - range("Nm") - (range("Nm") * range("Nm")) - (range("Nm") * range("Nm") * range("Nm")) > 0 Then
a = range("Nm") * range("Nm") * range("Nm")
Else
a = range("Ne") - range("Nm") - (range("Nm") * range("Nm"))
If a > 0 Then
If range("Ne") - range("Nm") - (range("Nm") * range("Nm")) - (range("Nm") * range("Nm") * range("Nm")) > 0 Then
a = range("Nm") * range("Nm") * range("Nm")
Else
a = range("Ne") - range("Nm") - (range("Nm") * range("Nm"))
End If
Else
a = 0
End If
End If
M4 = CLng(a * 4 / range("Nm") * 1000 / (range("Nm") * range("Nm")))
Else
If range("Ne") - range("Nm") - (range("Nm") * range("Nm")) - (range("Nm") * range("Nm") * range("Nm")) > 0 Then
a = range("Nm") * range("Nm") * range("Nm")
Else
a = range("Ne") - range("Nm") - (range("Nm") * range("Nm"))
If a > 0 Then
If range("Ne") - range("Nm") - (range("Nm") * range("Nm")) - (range("Nm") * range("Nm") * range("Nm")) > 0 Then
a = range("Nm") * range("Nm") * range("Nm")
Else
a = range("Ne") - range("Nm") - (range("Nm") * range("Nm"))
End If
Else
a = 0
End If
M4 = CLng((a * 1000 / range("Nm")) / range("Nm"))
End If
End If
'cinquième plus
If range("Ne") > range("I5") Then
If range("Ne") - range("Nm") - (range("Nm") * range("Nm")) - range("Nm") * range("Nm") * range("Nm") > 0 Then
a = range("Nm") * range("Nm") * range("Nm")
Else
a = range("Ne") - range("Nm") - (range("Nm") * range("Nm"))
If a > 0 Then
If range("Ne") - range("Nm") - (range("Nm") * range("Nm")) - (range("Nm") * range("Nm") * range("Nm")) > 0 Then
a = range("Nm") * range("Nm") * range("Nm")
Else
a = range("Ne") - range("Nm") - (range("Nm") * range("Nm"))
End If
Else
a = 0
End If
End If
M5 = CLng(a * (4 * 1000 / range("Nm")) / range("Nm"))
Else
If range("Ne") - range("Nm") - (range("Nm") * range("Nm")) - (range("Nm") * range("Nm") * range("Nm")) > 0 Then
a = range("Nm") * range("Nm") * range("Nm")
Else
a = range("Ne") - range("Nm") - (range("Nm") * range("Nm"))
If a > 0 Then
If range("Ne") - range("Nm") - (range("Nm") * range("Nm")) - (range("Nm") * range("Nm") * range("Nm")) > 0 Then
a = range("Nm") * range("Nm") * range("Nm")
Else
a = range("Ne") - range("Nm") - (range("Nm") * range("Nm"))
End If
Else
a = 0
End If
M5 = CLng(a * 1000 / range("Nm"))
End If
End If
'sixième plus
If range("Ne") > range("Pj") Then
If range("Ne") - range("Nm") - (range("Nm") * range("Nm")) - (range("Nm") * range("Nm") * range("Nm")) > 0 Then
a = range("Nm") * range("Nm") * range("Nm")
Else
a = range("Ne") - range("Nm") - (range("Nm") * range("Nm"))
If a > 0 Then
If range("Ne") - range("Nm") - (range("Nm") * range("Nm")) - (range("Nm") * range("Nm") * range("Nm")) > 0 Then
a = range("Nm") * range("Nm") * range("Nm")
Else
a = range("Ne") - range("Nm") - (range("Nm") * range("Nm"))
End If
Else
a = 0
End If
End If
M6 = CLng(a * 4 / range("Nm") * 1000)
Else
If range("Ne") - range("Nm") - (range("Nm") * range("Nm")) - 27 > 0 Then
a = range("Nm") * range("Nm") * range("Nm")
Else
a = range("Ne") - range("Nm") - (range("Nm") * range("Nm"))
If a > 0 Then
If range("Ne") - range("Nm") - (range("Nm") * range("Nm")) - (range("Nm") * range("Nm") * range("Nm")) > 0 Then
a = range("Nm") * range("Nm") * range("Nm")
Else
a = range("Ne") - range("Nm") - (range("Nm") * range("Nm"))
End If
Else
a = 0
End If
M6 = CLng(a * 1000)
End If
End If
range("Ptj") = CLng(M1 + M2 + M3 + M4 + M5 + M6)
End Function
Expliquer moi mon Erreur SVP
Function calcul_prime_totale_junior()
Dim a, M1, M2, M3, M4, M5, M6 As Long
'premier plus
If range("Ne") > range("Pj") Then
If range("Ne") - range("Nm") > 0 Then
a = range("Nm")
Else
a = range("Ne")
End If
M1 = CLng(a * 4 / range("Nm") * 1000)
Else
If range("Ne") - range("Nm") > 0 Then
a = range("Nm")
Else
a = range("Ne")
End If
M1 = CLng(a * 1000)
End If
'deuxième plus
If range("Ne") > range("Pj") Then
If range("Ne") - range("Nm") - (range("Nm") * range("Nm")) > 0 Then
a = CLng(range("Nm") * range("Nm"))
Else
a = CLng(range("Ne") - range("Nm"))
If a > 0 Then
If range("Ne") - range("Nm") - (range("Nm") * range("Nm")) > 0 Then
a = CLng(range("Nm") * range("Nm"))
Else
a = CLng(range("Ne") - range("Nm"))
End If
Else
a = 0
End If
End If
M2 = CLng((a * 4 * 1000 / range("Nm")) / range("Nm"))
Else
If range("Ne") - range("Nm") - (range("Nm") * range("Nm")) > 0 Then
a = range("Nm")
Else
a = CLng(range("Ne") - range("Nm"))
If a > 0 Then
If range("Ne") - range("Nm") - (range("Nm") * range("Nm")) > 0 Then
a = range("Nm") * range("Nm")
Else
a = CLng(range("Ne") - range("Nm"))
End If
Else
a = 0
End If
M2 = CLng(a * 1000 / range("Nm"))
End If
End If
'troisième plus
If range("Ne") > range("Pj") Then
If range("Ne") - range("Nm") - (range("Nm") * range("Nm")) > 0 Then
a = range("Nm") * range("Nm")
Else
a = range("Ne") - range("Nm")
If a > 0 Then
If range("Ne") - range("Nm") - (range("Nm") * range("Nm")) > 0 Then
a = range("Nm") * range("Nm")
Else
a = range("Ne") - range("Nm")
End If
Else
a = 0
End If
End If
M3 = CLng(a * 4 / range("Nm")) * 1000
Else
If range("Ne") - range("Nm") - (range("Nm") * range("Nm")) > 0 Then
a = range("Nm") * range("Nm")
Else
a = range("Ne") - range("Nm")
If a > 0 Then
If range("Ne") - range("Nm") - (range("Nm") * range("Nm")) > 0 Then
a = range("Nm") * range("Nm")
Else
a = range("Ne") - range("Nm")
End If
Else
a = 0
End If
M3 = CLng(a * 1000)
End If
End If
'quatrième plus
If range("Ne") > range("Pj") Then
If range("Ne") - range("Nm") - (range("Nm") * range("Nm")) - (range("Nm") * range("Nm") * range("Nm")) > 0 Then
a = range("Nm") * range("Nm") * range("Nm")
Else
a = range("Ne") - range("Nm") - (range("Nm") * range("Nm"))
If a > 0 Then
If range("Ne") - range("Nm") - (range("Nm") * range("Nm")) - (range("Nm") * range("Nm") * range("Nm")) > 0 Then
a = range("Nm") * range("Nm") * range("Nm")
Else
a = range("Ne") - range("Nm") - (range("Nm") * range("Nm"))
End If
Else
a = 0
End If
End If
M4 = CLng(a * 4 / range("Nm") * 1000 / (range("Nm") * range("Nm")))
Else
If range("Ne") - range("Nm") - (range("Nm") * range("Nm")) - (range("Nm") * range("Nm") * range("Nm")) > 0 Then
a = range("Nm") * range("Nm") * range("Nm")
Else
a = range("Ne") - range("Nm") - (range("Nm") * range("Nm"))
If a > 0 Then
If range("Ne") - range("Nm") - (range("Nm") * range("Nm")) - (range("Nm") * range("Nm") * range("Nm")) > 0 Then
a = range("Nm") * range("Nm") * range("Nm")
Else
a = range("Ne") - range("Nm") - (range("Nm") * range("Nm"))
End If
Else
a = 0
End If
M4 = CLng((a * 1000 / range("Nm")) / range("Nm"))
End If
End If
'cinquième plus
If range("Ne") > range("I5") Then
If range("Ne") - range("Nm") - (range("Nm") * range("Nm")) - range("Nm") * range("Nm") * range("Nm") > 0 Then
a = range("Nm") * range("Nm") * range("Nm")
Else
a = range("Ne") - range("Nm") - (range("Nm") * range("Nm"))
If a > 0 Then
If range("Ne") - range("Nm") - (range("Nm") * range("Nm")) - (range("Nm") * range("Nm") * range("Nm")) > 0 Then
a = range("Nm") * range("Nm") * range("Nm")
Else
a = range("Ne") - range("Nm") - (range("Nm") * range("Nm"))
End If
Else
a = 0
End If
End If
M5 = CLng(a * (4 * 1000 / range("Nm")) / range("Nm"))
Else
If range("Ne") - range("Nm") - (range("Nm") * range("Nm")) - (range("Nm") * range("Nm") * range("Nm")) > 0 Then
a = range("Nm") * range("Nm") * range("Nm")
Else
a = range("Ne") - range("Nm") - (range("Nm") * range("Nm"))
If a > 0 Then
If range("Ne") - range("Nm") - (range("Nm") * range("Nm")) - (range("Nm") * range("Nm") * range("Nm")) > 0 Then
a = range("Nm") * range("Nm") * range("Nm")
Else
a = range("Ne") - range("Nm") - (range("Nm") * range("Nm"))
End If
Else
a = 0
End If
M5 = CLng(a * 1000 / range("Nm"))
End If
End If
'sixième plus
If range("Ne") > range("Pj") Then
If range("Ne") - range("Nm") - (range("Nm") * range("Nm")) - (range("Nm") * range("Nm") * range("Nm")) > 0 Then
a = range("Nm") * range("Nm") * range("Nm")
Else
a = range("Ne") - range("Nm") - (range("Nm") * range("Nm"))
If a > 0 Then
If range("Ne") - range("Nm") - (range("Nm") * range("Nm")) - (range("Nm") * range("Nm") * range("Nm")) > 0 Then
a = range("Nm") * range("Nm") * range("Nm")
Else
a = range("Ne") - range("Nm") - (range("Nm") * range("Nm"))
End If
Else
a = 0
End If
End If
M6 = CLng(a * 4 / range("Nm") * 1000)
Else
If range("Ne") - range("Nm") - (range("Nm") * range("Nm")) - 27 > 0 Then
a = range("Nm") * range("Nm") * range("Nm")
Else
a = range("Ne") - range("Nm") - (range("Nm") * range("Nm"))
If a > 0 Then
If range("Ne") - range("Nm") - (range("Nm") * range("Nm")) - (range("Nm") * range("Nm") * range("Nm")) > 0 Then
a = range("Nm") * range("Nm") * range("Nm")
Else
a = range("Ne") - range("Nm") - (range("Nm") * range("Nm"))
End If
Else
a = 0
End If
M6 = CLng(a * 1000)
End If
End If
range("Ptj") = CLng(M1 + M2 + M3 + M4 + M5 + M6)
End Function
Aidez moi
Function calcul_prime_totale_junior()
Dim a, M1, M2, M3, M4, M5, M6 As Long
'premier plus
If range("Ne") > range("Pj") Then
If range("Ne") - range("Nm") > 0 Then
a = range("Nm")
Else
a = range("Ne")
End If
M1 = CLng(a * 4 / range("Nm") * 1000)
Else
If range("Ne") - range("Nm") > 0 Then
a = range("Nm")
Else
a = range("Ne")
End If
M1 = CLng(a * 1000)
End If
'deuxième plus
If range("Ne") > range("Pj") Then
If range("Ne") - range("Nm") - (range("Nm") * range("Nm")) > 0 Then
a = CLng(range("Nm") * range("Nm"))
Else
a = CLng(range("Ne") - range("Nm"))
If a > 0 Then
If range("Ne") - range("Nm") - (range("Nm") * range("Nm")) > 0 Then
a = CLng(range("Nm") * range("Nm"))
Else
a = CLng(range("Ne") - range("Nm"))
End If
Else
a = 0
End If
End If
M2 = CLng((a * 4 * 1000 / range("Nm")) / range("Nm"))
Else
If range("Ne") - range("Nm") - (range("Nm") * range("Nm")) > 0 Then
a = range("Nm")
Else
a = CLng(range("Ne") - range("Nm"))
If a > 0 Then
If range("Ne") - range("Nm") - (range("Nm") * range("Nm")) > 0 Then
a = range("Nm") * range("Nm")
Else
a = CLng(range("Ne") - range("Nm"))
End If
Else
a = 0
End If
M2 = CLng(a * 1000 / range("Nm"))
End If
End If
'troisième plus
If range("Ne") > range("Pj") Then
If range("Ne") - range("Nm") - (range("Nm") * range("Nm")) > 0 Then
a = range("Nm") * range("Nm")
Else
a = range("Ne") - range("Nm")
If a > 0 Then
If range("Ne") - range("Nm") - (range("Nm") * range("Nm")) > 0 Then
a = range("Nm") * range("Nm")
Else
a = range("Ne") - range("Nm")
End If
Else
a = 0
End If
End If
M3 = CLng(a * 4 / range("Nm")) * 1000
Else
If range("Ne") - range("Nm") - (range("Nm") * range("Nm")) > 0 Then
a = range("Nm") * range("Nm")
Else
a = range("Ne") - range("Nm")
If a > 0 Then
If range("Ne") - range("Nm") - (range("Nm") * range("Nm")) > 0 Then
a = range("Nm") * range("Nm")
Else
a = range("Ne") - range("Nm")
End If
Else
a = 0
End If
M3 = CLng(a * 1000)
End If
End If
'quatrième plus
If range("Ne") > range("Pj") Then
If range("Ne") - range("Nm") - (range("Nm") * range("Nm")) - (range("Nm") * range("Nm") * range("Nm")) > 0 Then
a = range("Nm") * range("Nm") * range("Nm")
Else
a = range("Ne") - range("Nm") - (range("Nm") * range("Nm"))
If a > 0 Then
If range("Ne") - range("Nm") - (range("Nm") * range("Nm")) - (range("Nm") * range("Nm") * range("Nm")) > 0 Then
a = range("Nm") * range("Nm") * range("Nm")
Else
a = range("Ne") - range("Nm") - (range("Nm") * range("Nm"))
End If
Else
a = 0
End If
End If
M4 = CLng(a * 4 / range("Nm") * 1000 / (range("Nm") * range("Nm")))
Else
If range("Ne") - range("Nm") - (range("Nm") * range("Nm")) - (range("Nm") * range("Nm") * range("Nm")) > 0 Then
a = range("Nm") * range("Nm") * range("Nm")
Else
a = range("Ne") - range("Nm") - (range("Nm") * range("Nm"))
If a > 0 Then
If range("Ne") - range("Nm") - (range("Nm") * range("Nm")) - (range("Nm") * range("Nm") * range("Nm")) > 0 Then
a = range("Nm") * range("Nm") * range("Nm")
Else
a = range("Ne") - range("Nm") - (range("Nm") * range("Nm"))
End If
Else
a = 0
End If
M4 = CLng((a * 1000 / range("Nm")) / range("Nm"))
End If
End If
'cinquième plus
If range("Ne") > range("I5") Then
If range("Ne") - range("Nm") - (range("Nm") * range("Nm")) - range("Nm") * range("Nm") * range("Nm") > 0 Then
a = range("Nm") * range("Nm") * range("Nm")
Else
a = range("Ne") - range("Nm") - (range("Nm") * range("Nm"))
If a > 0 Then
If range("Ne") - range("Nm") - (range("Nm") * range("Nm")) - (range("Nm") * range("Nm") * range("Nm")) > 0 Then
a = range("Nm") * range("Nm") * range("Nm")
Else
a = range("Ne") - range("Nm") - (range("Nm") * range("Nm"))
End If
Else
a = 0
End If
End If
M5 = CLng(a * (4 * 1000 / range("Nm")) / range("Nm"))
Else
If range("Ne") - range("Nm") - (range("Nm") * range("Nm")) - (range("Nm") * range("Nm") * range("Nm")) > 0 Then
a = range("Nm") * range("Nm") * range("Nm")
Else
a = range("Ne") - range("Nm") - (range("Nm") * range("Nm"))
If a > 0 Then
If range("Ne") - range("Nm") - (range("Nm") * range("Nm")) - (range("Nm") * range("Nm") * range("Nm")) > 0 Then
a = range("Nm") * range("Nm") * range("Nm")
Else
a = range("Ne") - range("Nm") - (range("Nm") * range("Nm"))
End If
Else
a = 0
End If
M5 = CLng(a * 1000 / range("Nm"))
End If
End If
'sixième plus
If range("Ne") > range("Pj") Then
If range("Ne") - range("Nm") - (range("Nm") * range("Nm")) - (range("Nm") * range("Nm") * range("Nm")) > 0 Then
a = range("Nm") * range("Nm") * range("Nm")
Else
a = range("Ne") - range("Nm") - (range("Nm") * range("Nm"))
If a > 0 Then
If range("Ne") - range("Nm") - (range("Nm") * range("Nm")) - (range("Nm") * range("Nm") * range("Nm")) > 0 Then
a = range("Nm") * range("Nm") * range("Nm")
Else
a = range("Ne") - range("Nm") - (range("Nm") * range("Nm"))
End If
Else
a = 0
End If
End If
M6 = CLng(a * 4 / range("Nm") * 1000)
Else
If range("Ne") - range("Nm") - (range("Nm") * range("Nm")) - 27 > 0 Then
a = range("Nm") * range("Nm") * range("Nm")
Else
a = range("Ne") - range("Nm") - (range("Nm") * range("Nm"))
If a > 0 Then
If range("Ne") - range("Nm") - (range("Nm") * range("Nm")) - (range("Nm") * range("Nm") * range("Nm")) > 0 Then
a = range("Nm") * range("Nm") * range("Nm")
Else
a = range("Ne") - range("Nm") - (range("Nm") * range("Nm"))
End If
Else
a = 0
End If
M6 = CLng(a * 1000)
End If
End If
range("Ptj") = CLng(M1 + M2 + M3 + M4 + M5 + M6)
End Function
A voir également:
- Depassement de capacité
- Test capacité pc - Guide
- Créer un compte yahoo mail gratuit avec capacité de - Télécharger - Mail
- Yahoo Mail France : comment créer une adresse mail gratuite - Guide
- Le logiciel amd a détecté un dépassement de délai du pilote - Forum Carte graphique
- Dépassement de capacité vba - Forum VB / VBA
4 réponses
Bonjour à tous
Mettez un point d'arrêt sur la ligne en défaut et relevez les valeurs de "a" et de "Nm"
ça peut vous aider à déterminer d'où vient l'erreur
Cdlt
Mettez un point d'arrêt sur la ligne en défaut et relevez les valeurs de "a" et de "Nm"
ça peut vous aider à déterminer d'où vient l'erreur
Cdlt
Bonjour,
Après réflexion, il s'agit surement d'un problème de distributivité de la division par rapport à la multiplication.
Prenons cette formule mathématique par exemple :
Si a = 1 000 000 et que Range("Nm") contient 1, quel devrait être le résultat?
Ici Excel calcule cette formule comme ceci :
D'abord la division :
4 / range("Nm") ==> 4
Ensuite les multiplications
1 000 000 x 4 x 1000 ==> 4 000 000 000
=====> Dépassement de capacité !
pour mémoire : Long : Stocke les nombres compris entre -2 147 483 648 et 2 147 483 647
C'est comme si tu avais écrit :
Maintenant, si le résultat doit être :
4 000 000 / 1000 => 4 000, il convient d'utiliser la formule :
Quoiqu'il en soit, ajouter des parenthèses, qui peuvent, mathématiquement parlant, sembler inutile, n'est pas un luxe en Excel et en VBA...
Avant, j'arrivais jamais à finir mes phrases... mais maintenant je
Après réflexion, il s'agit surement d'un problème de distributivité de la division par rapport à la multiplication.
Prenons cette formule mathématique par exemple :
M1 = CLng(a * 4 / range("Nm") * 1000)
Si a = 1 000 000 et que Range("Nm") contient 1, quel devrait être le résultat?
Ici Excel calcule cette formule comme ceci :
D'abord la division :
4 / range("Nm") ==> 4
Ensuite les multiplications
1 000 000 x 4 x 1000 ==> 4 000 000 000
=====> Dépassement de capacité !
pour mémoire : Long : Stocke les nombres compris entre -2 147 483 648 et 2 147 483 647
C'est comme si tu avais écrit :
M1 = CLng(a * (4 / range("Nm")) * 1000)
Maintenant, si le résultat doit être :
4 000 000 / 1000 => 4 000, il convient d'utiliser la formule :
M1 = CLng((a * 4) / (range("Nm") * 1000))
Quoiqu'il en soit, ajouter des parenthèses, qui peuvent, mathématiquement parlant, sembler inutile, n'est pas un luxe en Excel et en VBA...
Avant, j'arrivais jamais à finir mes phrases... mais maintenant je
/M2 = CLng(a * 1000 / range("Nm")) /