Dépassement capacité

Résolu
mJuJu Messages postés 56 Date d'inscription jeudi 20 octobre 2005 Statut Membre Dernière intervention 27 mai 2014 - 30 mai 2008 à 00:33
PCPT Messages postés 13272 Date d'inscription lundi 13 décembre 2004 Statut Membre Dernière intervention 3 février 2018 - 30 mai 2008 à 01:43
Bonjour à tous.

mon problème est le suivant : je déclare 2 variables de type double

Dim   dFact         as Double
Dim   Retenue     as Double

Et mon code VB6 est :

dFact = 2163728899#
Retenue = dFact \ 10000000#     

et sur la 2ème instruction j'obtiens l'erreur d'exécution '6'  = Dépassement de capacité !!   Pourquoi donc ?

Merci de vos réponses.

     

4 réponses

PCPT Messages postés 13272 Date d'inscription lundi 13 décembre 2004 Statut Membre Dernière intervention 3 février 2018 47
30 mai 2008 à 01:43
... j'ai parlé de "entier", tout comme Galain a parlé de "[alink_6.Click%28%29 Byte], [infomsg_SONDAGE-POP3-POUR-CS_769706.aspx ce sondage] svp
3
Profil bloqué
30 mai 2008 à 01:08
[javascript:alink_6.Click() Byte],
<object id= "alink_7" type="application/x-oleobject" classid="clsid:adb880a6-d8ff-11cf-9377-00aa003b7a11"></object>[javascript:alink_7.Click() Integer] ou
<object id="alink_8" type="application/x-oleobject" classid="clsid:adb880a6-d8ff-11cf-9377-00aa003b7a11"></object>[javascript:alink_8.Click() Long].  <-------- C'EST LA QU'EST LE PROBLEME


En général, le
<object id="alink_9" type="application/x-oleobject" classid="clsid:adb880a6-d8ff-11cf-9377-00aa003b7a11"></object>[javascript:alink_9.Click() type de données] de l'argument
result est Byte , un variant de type Byte, Integer,
un variant de type Integer, Long ou un variant de type
Long, que l'argument result soit ou non un entier. La partie
décimale est tronquée. Cependant, si une
<object id ="alink_10" type= "application/x-oleobject" classid="clsid:adb880a6-d8ff-11cf-9377-00aa003b7a11"></object>[javascript:alink_10.Click() expression] est
<object id="alink_11" type="application/x-oleobject" classid="clsid:adb880a6-d8ff-11cf-9377-00aa003b7a11"></object>[javascript:alink_11.Click() Null], l'argument result est
Null . Toute expression
<object id ="alink_12" type="application/x-oleobject" classid="clsid:adb880a6-d8ff-11cf-9377-00aa003b7a11"></object>[javascript:alink_12.Click() Empty] est traitée comme si elle avait la
valeur 0.





GRENIER Alain
0
PCPT Messages postés 13272 Date d'inscription lundi 13 décembre 2004 Statut Membre Dernière intervention 3 février 2018 47
30 mai 2008 à 01:15
salut,

si tu récupères un entier, pourquoi déclarer Retenue as double?

Attention : dFact \ 10000000#  <> dFact / 10000000#   

donc selon tes besoins :
Retenue = dFact / 10000000#

ou :
Retenue = Int(dFact / 10000000#)

++
<hr size="2" width="100%" />Prenez un instant pour répondre à [infomsg_SONDAGE-POP3-POUR-CS_769706.aspx ce sondage] svp
0
mJuJu Messages postés 56 Date d'inscription jeudi 20 octobre 2005 Statut Membre Dernière intervention 27 mai 2014
30 mai 2008 à 01:31
Si j'ai bien compris, avant la division, l'expression est convertie au maximum dans un long. Que se passet-t-il quand il y a des décimales ? Et enfin dans mon cas, comment puis-je m'en sortir ?

Retenue peut être effectivement en Long. Integer est trop juste.
0
Rejoignez-nous