Dépassement de capacités

C

Coun

Guest
Bonjour a tous!

J'ai un petit problème de données.
J'ai fait une boucle qui me permet de remplir une colonne avec le résultat de la multiplication de deux autres colonnes.
Ma boucle me semble correct et débute bien puisqu'elle remplit une part des cellules souhaitées. Toutefois, il me marque a un moment :
Erreur d'exection '6': Dépassement de capacité.

Voila ma boucle:

i = 3
a = 10000
Do Until i = 1
cellule = "S" & i
Calcul = (a * CLng(Range(cellule).Offset(0, -1).Value)) / CLng(Range(cellule).Offset(0, -2).Value)
Range(cellule).Value = Calcul
Calcul = 0
i = i + 1

Loop


Sachant que i est un integer et que a et calcul sont déclarés en long. J'ai essayer aussi de les déclarer en single et en double mais j'ai toujours la même erreur.

Quelqu'un pourrait il m'apporter une solution s'il vous plait?

Merci d'avance.
 
P

Pascal76

Guest
Salut Coun

Regarde bien ta boucle

Tu lui dis do until i=1
Donc continue ma boucle jusqu'à ce que i soit égal à 1
Mais i ne sera jamais égal à 1 puisqu'il débute à 3 et que tu l'incrémentes de +1 à chaque fois

Bon courage

Pascal
 
C

Coun

Guest
Oups, heu, j'ai corrigé l'erreur mais le problème est toujours là.

Désolé, si je met du code foireux, on est pas sorti ! :-/

Donc revoila la boucle:

Do Until i = nblignes

cellule = "S" & i
Calcul = (a * CLng(Range(cellule).Offset(0, -1).Value)) / CLng(Range(cellule).Offset(0, -2).Value)
Range(cellule).Value = Calcul
Calcul = 0
i = i + 1

Loop
 

Statistiques des forums

Discussions
312 438
Messages
2 088 417
Membres
103 847
dernier inscrit
Girardon