Daydayer
Messages postés201Date d'inscriptionmercredi 1 décembre 2004StatutMembreDernière intervention13 août 2005
-
31 mai 2005 à 12:44
Daydayer
Messages postés201Date d'inscriptionmercredi 1 décembre 2004StatutMembreDernière intervention13 août 2005
-
31 mai 2005 à 14:38
bonjour!
je veux additionner 2 valeurs contenues présentes sur une même feuille excel, grâce à VB6. pour cela j'additionne les range().value.
le problème, c'est qu'avec des décimales, le résultat est arrondi.
exple: 87,5 +37.5=126 et non 125...
comme si les chiffres étaient arrondis au point supérieur.
j'ai essayé de remédier à ce problème en mettant mes cellules à additionner et celle où j'insère le résultat au format nombre à une décimale avec Selection.NumberFormat = "0.0"
...
ca marche pas
peut-être y a-t-il une option sous VB6 qui prend en compte les décimales des range().value?
Hours est une var type integer, elle permet de connaitre les heures passées pour chaque fournisseur.
A chaque fois que j'ai fini pour un fournisseur, je fais:
TotalHours = TotalHours + Hours
Totalhours est de type integer, elle permet de connaitre au final le nombre total des heures...
peut être faut-il que je mette ces var sous forme de float ou un truc comme ca?
Daydayer
Messages postés201Date d'inscriptionmercredi 1 décembre 2004StatutMembreDernière intervention13 août 2005 31 mai 2005 à 13:26
en fait, le problème ne vient pas de l'addition des valeurs dans la var Hours: le total des heures pour chaque fournisseur (var Hours) prend bien en compte les décimales.
Le problème est pour TotalHours (somme des hours), qui lui ple fait en arrondi...
Daydayer
Messages postés201Date d'inscriptionmercredi 1 décembre 2004StatutMembreDernière intervention13 août 2005 31 mai 2005 à 13:56
je me doutais un peu que c'était un pb de type... je les ai mise en variant et c'est ok; avec double c'est bon aussi.
merci!
par contre tu pourrais m'expliquer la différence entre double, variant et long? varaint i me semble que le type peut changer selon ce que tu mets dans ta var... mais le reste je sais pas (une histoire d'allocation mémoire de stockage?)
linasteph
Messages postés153Date d'inscriptionlundi 16 décembre 2002StatutMembreDernière intervention22 juillet 20091 31 mai 2005 à 14:04
Les
<object id="alink_4" type="application/x-oleobject" classid="clsid:adb880a6-d8ff-11cf-9377-00aa003b7a11"></object>[javascript:alink_4.Click() variables de type Double] (à virgule
flottante en double précision) sont stockées sous la forme de nombres à virgule
flottante de 64 bits (8 octets) IEEE dont la valeur est comprise entre
-1,79769313486232E308 et -4,94065645841247E-324 pour les nombres négatifs et
entre 4,94065645841247E-324 et 1,79769313486232E308 pour les positifs.
Les
<object id="alink_4" type="application/x-oleobject" classid="clsid:adb880a6-d8ff-11cf-9377-00aa003b7a11"></object>[javascript:alink_4.Click() variables de type Long] (entier long) sont
stockées sous la forme de nombres signés de 32 bits (4 octets) dont la valeur
est comprise entre -2 147 483 648 et 2 147 483 647.
Daydayer
Messages postés201Date d'inscriptionmercredi 1 décembre 2004StatutMembreDernière intervention13 août 2005 31 mai 2005 à 14:38
ok!
merci pour toutes tes réponses! c'est vrai que concernant les chiffres je faisiais pas assez attention au type de ar que j'allais manipuler... maintenant je le saurai!