Problème de Dépassement de capacité et temps de calcul important
Fermé
amiro2017
Messages postés
194
Date d'inscription
mardi 28 février 2017
Statut
Membre
Dernière intervention
31 août 2017
-
5 mars 2017 à 23:29
amiro2017 Messages postés 194 Date d'inscription mardi 28 février 2017 Statut Membre Dernière intervention 31 août 2017 - 6 mars 2017 à 13:29
amiro2017 Messages postés 194 Date d'inscription mardi 28 février 2017 Statut Membre Dernière intervention 31 août 2017 - 6 mars 2017 à 13:29
A voir également:
- Problème de Dépassement de capacité et temps de calcul important
- Formule de calcul excel - Guide
- Calcul temps de charge batterie 12v ✓ - Forum Matériel & Système
- Blocage agriculteur carte en temps réel - Guide
- Calcul moyenne excel - Guide
- Combien de temps dure le sablier sur snap ✓ - Forum Snapchat
1 réponse
f894009
Messages postés
17185
Date d'inscription
dimanche 25 novembre 2007
Statut
Membre
Dernière intervention
15 avril 2024
1 701
6 mars 2017 à 08:19
6 mars 2017 à 08:19
Bonjour,
Certe, mais sans votre code, pouvons rien voir
Certe, mais sans votre code, pouvons rien voir
6 mars 2017 à 09:10
Application.ScreenUpdating = False
Dim derniereLigne As Integer
Dim i, j, T As Integer
Dim m, sigma, m1, sigma1 As Double
Dim V1(), V2(), D1(), D2() As Double
Worksheets("feuil1").Activate
derniereLigne = Range("B" & Rows.Count).End(xlUp).Row
ReDim V1(1 To 253, 1 To 1)
ReDim V2(1 To 253, 1 To 1)
ReDim D1(1 To 10000, 2 To 252)
ReDim D2(1 To 10000, 2 To 252)
For i = derniereLigne - 252 To derniereLigne - 1
V1(derniereLigne - i + 1, 1) = Application.WorksheetFunction.Ln(Cells(i, 2) / Cells(i + 1, 2))
V2(derniereLigne + 1 - i, 1) = Application.WorksheetFunction.Ln(Cells(i, 3) / Cells(i + 1, 3))
Next i
m = Application.WorksheetFunction.Median(V1)
sigma = Application.WorksheetFunction.StDev(V1)
m1 = Application.WorksheetFunction.Median(V2)
sigma1 = Application.WorksheetFunction.StDev(V2)
T = 1
For i = 2 To 252
For j = 1 To 1000
D1(j, i) = Cells(i, 2) * Exp((m - 0.5 * sigma ^ 2) * T - sigma * Application.NormInv(Rnd(), 0, 1) * Sqr(T))
D2(j, i) = Cells(i, 3) * Exp((m1 - 0.5 * sigma1 ^ 2) * T - sigma1 * Application.NormInv(Rnd(), 0, 1) * Sqr(T))
Next j
Cells(i, 5).Value = D1(1000, i)
Cells(i, 6).Value = D2(1000, i)
Next i
Dim ObjCell1(), ObjCell() As Double
ReDim ObjCell(2 To 252, 1 To 1)
ReDim ObjCell1(2 To 252, 1 To 1)
For i = 2 To 250
ObjCell1(i, 1) = 21517363.669192 * Application.WorksheetFunction.Ln(Cells(i, 2) / Cells(i + 1, 2)) + 44152744.8658505 * Application.WorksheetFunction.Ln(Cells(i, 3) / Cells(i + 1, 3))
ObjCell(i, 1) = 21517363.669192 * Application.WorksheetFunction.Ln(Cells(i, 5) / Cells(i + 1, 5)) + 44152744.8658505 * Application.WorksheetFunction.Ln(Cells(i, 6) / Cells(i + 1, 6))
Next i
m = Application.WorksheetFunction.Median(ObjCell)
sigma = Application.WorksheetFunction.StDev(ObjCell)
Worksheets("feuil2").Activate
ThisWorkbook.Worksheets("feuil2").Range("B2:B252").Value = ObjCell1
TextBox6.Text = Format(Application.WorksheetFunction.NormInv(0.99, m, sigma), "0.0000")
TextBox5.Text = Format(-WorksheetFunction.Percentile_Inc(Range("B2:B" & Range("B" & Rows.Count).End(xlUp).Row - 1), 0.01), "0.0000")
ThisWorkbook.Worksheets("feuil2").Range("E2:E252").Value = ObjCell
TextBox4.Text = Format(-WorksheetFunction.Percentile_Inc(Range("E2:E" & Range("E" & Rows.Count).End(xlUp).Row - 1), 0.01), "0.0000")
Application.Calculation = xlCalculationAutomatic
End Sub
Modifié par yg_be le 6/03/2017 à 09:16
idem autres dim
ajouter au début:
question: sur quelle ligne as-tu l'erreur?
6 mars 2017 à 10:00
je vous remercie d'abord pour votre aide , concernant l'erreur de dépassement de capacité à été résolu puisque celle ci paraît lorsque je manipule deux userform en même temps cependant même j'ajoute votre proposition je sens que le temps de calcul reste important
6 mars 2017 à 13:29
il avait mainenant un problème de dépassement de la capacité dans cette ligne:
V1(i, 1) = Application.WorksheetFunction.Ln(Cells(i, 2) / Cells(i + 1, 2))
aidez moi stp!