VBA Excel erreur 6 dépassement de capacité
mat
-
mat -
mat -
Bonjour,
j'ai écris un code pour faire une boucle d'itération sur des valeurs de poids et lorsque je le lance, il me met: erreur 6 dépassement de capacité à la ligne 29 sur ma première boucle While.
j'ai essayé de passer i en integer ou en Long mais ça n'a rien changé.
ci dessous le code
Merci d'avance pour votre aide !
j'ai écris un code pour faire une boucle d'itération sur des valeurs de poids et lorsque je le lance, il me met: erreur 6 dépassement de capacité à la ligne 29 sur ma première boucle While.
j'ai essayé de passer i en integer ou en Long mais ça n'a rien changé.
ci dessous le code
Merci d'avance pour votre aide !
Sub iteration()
Dim epsilon As Double
epsilon = 0.01
Dim Wtoguess As Double
Dim Wtocalc As Double
Dim Wf_Wto As Double
Dim We_Wto As Double
Dim Wc As Double
Dim Wp As Double
Dim i As Long
'initialisation
ThisWorkbook.Sheets("loops").Cells(4, 2) = ThisWorkbook.Sheets("data").Cells(12, 16)
ThisWorkbook.Sheets("loops").Cells(5, 2) = ThisWorkbook.Sheets("data").Cells(13, 16)
ThisWorkbook.Sheets("loops").Cells(6, 2) = ThisWorkbook.Sheets("data").Cells(8, 2)
Wtoguess = ThisWorkbook.Sheets("data").Cells(5, 16)
ThisWorkbook.Sheets("loops").Cells(7, 2) = Wtoguess
Wtocalc = Wtoguess * 1.2
i = 0
'On lance une premiere fois
While (((Abs((Wtoguess - Wtocalc) / Wtoguess)) > epsilon) And (i < 500))
i = i + 1
Wtoguess = Wtocalc
We_Wto = ThisWorkbook.Sheets("loops").Cells(8, 2)
Wf_Wto = ThisWorkbook.Sheets("loops").Cells(11, 2)
Wc = ThisWorkbook.Sheets("loops").Cells(9, 2)
Wp = ThisWorkbook.Sheets("loops").Cells(10, 2)
Wtocalc = Wc + Wp + We_Wto * Wtoguess + Wf_Wto * Wtoguess
ThisWorkbook.Sheets("loops").Cells(7, 2) = (9 * Wtoguess + 1 * Wtocalc) / 10
Wend
'On fige Vapp
'vapp = ThisWorkbook.Sheets("Big_loop").Cells(32, 9)
'ThisWorkbook.Sheets("Big_loop").Cells(32, 9) = vapp
'On converge sur le point de design
c = 0
While c < 10
'On met a jour en fonction du graph
ThisWorkbook.Sheets("loops").Cells(4, 2) = (ThisWorkbook.Sheets("master equation").Cells(10, 18)) * 0.45 * 9.81 / (0.3048 ^ 2)
ThisWorkbook.Sheets("loops").Cells(5, 2) = (ThisWorkbook.Sheets("master equation").Cells(11, 18))
'On utilise ces nouvelles valeurs pour mettre à jour le point
Wtoguess = ThisWorkbook.Sheets("data").Cells(5, 16)
ThisWorkbook.Sheets("loops").Cells(7, 2) = Wtoguess
'Wtocalc = 550000
While (((Abs((Wtoguess - Wtocalc) / Wtoguess)) > epsilon) And (i < 500))
i = i + 1
Wtoguess = Wtocalc
We_Wto = ThisWorkbook.Sheets("Bloops").Cells(8, 2)
Wf_Wto = ThisWorkbook.Sheets("loops").Cells(11, 2)
Wc = ThisWorkbook.Sheets("loops").Cells(9, 2)
Wp = ThisWorkbook.Sheets("loops").Cells(10, 2)
Wtocalc = Wc + Wp + We_Wto * Wtoguess + Wf_Wto * Wtoguess
ThisWorkbook.Sheets("loops").Cells(7, 2) = (4 * Wtoguess + 1 * Wtocalc) / 5
Wend
'On incrémente
c = c + 1
Wend
'On calcule les performances au décollage
'ThisWorkbook.Sheets("Big_loop").Cells(24, 9) = ThisWorkbook.Sheets("Data").Cells(8, 3) * Sqr(ThisWorkbook.Sheets("Small_loop").Cells(6, 6) * 2 / (ThisWorkbook.Sheets("Big_loop").Cells(8, 8) * ThisWorkbook.Sheets("Big_loop").Cells(23, 9)))
ThisWorkbook.Sheets("loops").Cells(6, 2) = ThisWorkbook.Sheets("data").Cells(8, 2)
While ThisWorkbook.Sheets("take off").Cells(22, 18) * ThisWorkbook.Sheets("conversion").Cells(3, 3) < ThisWorkbook.Sheets("landing").Cells(21, 17)
ThisWorkbook.Sheets("loop").Cells(6, 2) = ThisWorkbook.Sheets("loops").Cells(6, 2) * 1.01
Wend
While ThisWorkbook.Sheets("take off").Cells(33, 18) * ThisWorkbook.Sheets("conversion").Cells(3, 3) < ThisWorkbook.Sheets("landing").Cells(21, 17)
ThisWorkbook.Sheets("loop").Cells(6, 2) = ThisWorkbook.Sheets("loops").Cells(6, 2) * 1.01
Wend
End Sub
A voir également:
- VBA Excel erreur 6 dépassement de capacité
- Liste déroulante excel - Guide
- Word et excel gratuit - Guide
- Si ou excel - Guide
- Déplacer colonne excel - Guide
- Excel compter cellule couleur sans vba - Guide