Division par zéro - VB/VBA/VBS - Programmation
Marsh Posté le 28-12-2006 à 20:05:43
Bonsoir,
j'ai testé avec 10000 alea() dans la colonne 1 et pas de pb
peut-être en ajoutant après le for i....
if cells(i,1)=0 then
msgbox " plante en: " & i
else
et le
end if
avant le next i
tu pourras avoir une info
Cordialement
Marsh Posté le 28-12-2006 à 21:05:14
Salut, merci de ta réponse, ça t'embête de m'envoyer ton code stp ?
J'ai surement fait une erreur quelquepart.
Merci encore
Marsh Posté le 28-12-2006 à 19:29:11
Bonjour,
Sachant que dans la colonne 1 de ma feuille Excel, de Cells(1,1) à Cells(10000,1), j'ai simulé 10000 valeurs d'une variable de loi uniforme sur [0,1] par le générateur de nombres aléatoires. Quand je calcule l'intégrale de la fonction
(1+(((1-0.11)^25.8)/((1-0.11*(1-exp(-0.04*((1/x)-1))))^25.8)))*(1/(x^2))
en VBA sous Excel, par le programme suivant :
Sub Prime_pure_réass()
Dim N As Double
Dim i As Double
Dim x0 As Double
Dim r As Double
Dim p As Double
Dim E As Double
Dim alpha As Double
N = 10000
i = 1
alpha = 0.04
x0 = 350
p = 0.11
r = 25.8
E = 0
For i = 1 To N
Cells(i, 2) = -1 + ((1 - p) ^ r) / ((1 - (p * (1 - Exp(-alpha * ((1 / Cells(i, 1)) - 1))))) ^ r)
Cells(i, 3) = (1 / (Cells(i, 1) ^ 2)) * Cells(i, 2)
E = E + Cells(i, 3)
Next i
Cells(7, 7) = E
End Sub
Le débogueur m'affiche : "Erreur d'exécution '11' : Division par zéro"
Pourquoi ???