Erreur 6 Dépassement de capacité

Erreur 6 Dépassement de capacité - VB/VBA/VBS - Programmation

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  
 

Reply

Marsh Posté le 14-10-2010 à 17:17:47   

Reply

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


---------------
Soyez malin, louez entre voisins !
Reply

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...;-)

Reply

Marsh Posté le 15-10-2010 à 09:40:53    

Reply

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


Message édité par kiki29 le 15-10-2010 à 19:21:07
Reply

Sujets relatifs:

Leave a Replay

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