OVH Cloud OVH Cloud

Depassement de capacité !

4 réponses
Avatar
Jean-Michel
Bonjour,

J'ai cette erreur de depassement de capacité sur cette ligne :

SommeResteR = (SommeReste + (250 * ComptU))

et voici les declaration

Dim SommeResteR As Double
Dim SommeReste As Double
Dim ComptU As Integer

et les valeur quand ca bug sont

SommeReste = 13021.2
ComptU = 178

Pk ca me fait ca ...

Merci de me repondre :)

4 réponses

Avatar
François Picalausa
"Jean-Michel" a écrit dans le
message de news:u9Crr%
J'ai cette erreur de depassement de capacité sur cette ligne :

SommeResteR = (SommeReste + (250 * ComptU))

et les valeur quand ca bug sont

SommeReste = 13021.2
ComptU = 178

Pk ca me fait ca ...



Bonjour/soir,
VB considère (250 * ComptU) comme un Integer.. et effectivement pour un
Intger 44500 est en dehors des limites.

En typant 250 comme un long, on peut arranger le problème:
SommeResteR = (SommeReste + (250& * ComptU))

--
François Picalausa (MVP VB)
FAQ VB : http://faq.vb.free.fr
MSDN : http://msdn.microsoft.com
Avatar
Vincent BENNER - PAGE UP
Bonjour,


Sans faire de test sur mon poste,

essaye un truc du genre :

SommeResteR = (SommeReste + (250 * ComptU * 1.0))

Vincent BENNER
Avatar
Bismark Prods
d'abord je crois savoir que le * est prioritaire sur + donc pas besoin de
parentheses, aucune parentheses

et ensuite il y a Overflow car ComptU est un integer et tu tente de lui
affecter une valeur hors de sa plage limite en faisant 250 * comptU



"Jean-Michel" a écrit dans le
message de news:u9Crr%
Bonjour,

J'ai cette erreur de depassement de capacité sur cette ligne :

SommeResteR = (SommeReste + (250 * ComptU))

et voici les declaration

Dim SommeResteR As Double
Dim SommeReste As Double
Dim ComptU As Integer

et les valeur quand ca bug sont

SommeReste = 13021.2
ComptU = 178

Pk ca me fait ca ...

Merci de me repondre :)





Avatar
Jean-Michel
Merci a tout les trois, j'ai utilisé la premiere astuce de &
et ca merche nikel :)

Aller, bonne journée !

"Bismark Prods" a écrit dans le message news:
#
d'abord je crois savoir que le * est prioritaire sur + donc pas besoin de
parentheses, aucune parentheses

et ensuite il y a Overflow car ComptU est un integer et tu tente de lui
affecter une valeur hors de sa plage limite en faisant 250 * comptU



"Jean-Michel" a écrit dans le
message de news:u9Crr%
> Bonjour,
>
> J'ai cette erreur de depassement de capacité sur cette ligne :
>
> SommeResteR = (SommeReste + (250 * ComptU))
>
> et voici les declaration
>
> Dim SommeResteR As Double
> Dim SommeReste As Double
> Dim ComptU As Integer
>
> et les valeur quand ca bug sont
>
> SommeReste = 13021.2
> ComptU = 178
>
> Pk ca me fait ca ...
>
> Merci de me repondre :)
>
>
>