Division par zéro

Division par zéro - VB/VBA/VBS - Programmation

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 ???

Reply

Marsh Posté le 28-12-2006 à 19:29:11   

Reply

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

Reply

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

Reply

Marsh Posté le 28-12-2006 à 21:12:13    

Merci j'avais fait une erreur, ça marche.

Reply

Marsh Posté le 28-12-2006 à 21:21:47    

Bonsoir,
quelle erreur?

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed