Erreur 6 Dépassement de capacité - VB/VBA/VBS - Programmation
Marsh Posté le 14-10-2010 à 18:09:49
Re
Ici :
A = Worksheets("solidworks" ).Cells(ligne, 44) / 2
B = Worksheets("solidworks" ).Cells(ligne, 48) / 2
Tu es sur que A et B renvoit a chaque fois un entier ?
Car tu les declares comme tel...
Et avant tu fais :
Worksheets("solidworks" ).Cells(ligne, 48) = Worksheets("Géométrie" ).Cells(ligne + 46, 37)
Donc si à A est egal a ca, le 46.37 fait que ce n'est plus un entier...
Marsh Posté le 15-10-2010 à 09:21:56
Re éh bin merci encore de ton aide, grâce à toi je devrais réussir à m'en sortir sur ce programme.
Merci beaucoup et à très vite certainement...;-)
Marsh Posté le 15-10-2010 à 19:19:51
Salut,attention également si dans Worksheets("solidworks" ).Cells(ligne, 47) = 2 * ((A * B) / Sqr(Abs(b2 - Y))) b2 - Y = 0 ou proche de 0
Marsh Posté le 14-10-2010 à 17:17:47
Bonjour,
Voila, je travail sur un programme Visual Basic dépendant du tableur Excel,
et je rencontre un message d'erreur : Erreur d'exécution 6 Dépassement de capacité.
D'ou cela peut-il provenir?
Voici un extrait du programme concerné par le problème :
Sub Exporte()
Dim ligne As Integer
Dim A As Integer
Dim B As Integer
Dim b2 As Double
Dim Y As Double
Dim y2 As Double
'--------------------------PARAMETRE HEADER1 (REPRISE DU POINT 7)
'diamétre
Worksheets("solidworks" ).Cells(ligne, 44) = Worksheets("Géométrie" ).Cells(ligne + 46, 20) * 2
'hauteur du solid booléen vertical
Worksheets("solidworks" ).Cells(ligne, 45) = Worksheets("Géométrie" ).Cells(ligne + 46, 20) * 3
'crete
Worksheets("solidworks" ).Cells(ligne, 46) = Worksheets("Géométrie" ).Cells(ligne + 46, 33)
'Petit diemètre de l'elipse
Worksheets("solidworks" ).Cells(ligne, 48) = Worksheets("Géométrie" ).Cells(ligne + 46, 37)
'Calcul du grand diamétre de l'elipse
A = Worksheets("solidworks" ).Cells(ligne, 44) / 2
B = Worksheets("solidworks" ).Cells(ligne, 48) / 2
b2 = (Worksheets("solidworks" ).Cells(ligne, 48) / 2) * (Worksheets("solidworks" ).Cells(ligne, 48) / 2)
Y = (B - Worksheets("solidworks" ).Cells(ligne, 46)) * (B - Worksheets("solidworks" ).Cells(ligne, 46))
Worksheets("solidworks" ).Cells(ligne, 47) = 2 * ((A * B) / Sqr(Abs(b2 - Y)))
'longueur du solide booléen horizontal
Worksheets("solidworks" ).Cells(ligne, 49) = Worksheets("solidworks" ).Cells(ligne, 48) * 4
expo:
Workbooks.Open ThisWorkbook.path & "\3D\weldolet.xls"
Windows("Validation des weldolet.xls" ).Activate
Worksheets("solidworks" ).Activate
Range("A1:BD5000" ).Select
Application.CutCopyMode = False
Selection.Copy
Windows("weldolet.xls" ).Activate
Range("A1" ).Select
ActiveSheet.Paste
ActiveWorkbook.Close savechanges:=True
End Sub
voila alors la ligne me causant le dérangement est la suivant :
Worksheets("solidworks" ).Cells(ligne, 47) = 2 * ((A * B) / Sqr(Abs(b2 - Y)))
Voila, merci par avance de vos réponse
A bientôt