MOUSSAOUIAAZIZ
Messages postés48Date d'inscriptionsamedi 5 août 2006StatutMembreDernière intervention 9 novembre 2009 27 déc. 2008 à 11:00
Salut;
si T_AIRSIT = 5
T_TotalHT = 5000
donc c'est logique que : T_AIRSI = Val(T_TotalHT) * T_AIRSIT / 100 = 5000*5/100 = 250
je comprend pas d'ou vient 295????
Sinsitrus
Messages postés849Date d'inscriptionsamedi 11 juin 2005StatutMembreDernière intervention21 août 2015 27 déc. 2008 à 11:55
Si je fais ca ca fausse mon calcul car il calculera l'addition de la TVA
Ce qui dit que chaque fois que j'insère un article, il calculera la TVA + TVA et ainsi de suite... donc ca faussera.
Normalement, ce que j'ai fais "doit" fonctionner, mais je ne comprends pas pourquoi il y'a une différence entre Excel et VB
Lequel est juste ? j'en sais rien, et si je prends une calculette, Excel a raison...
Vous n’avez pas trouvé la réponse que vous recherchez ?
cs_Jack
Messages postés14006Date d'inscriptionsamedi 29 décembre 2001StatutModérateurDernière intervention28 août 201579 27 déc. 2008 à 17:03
Salut
Moussa a raison :
D'après tes données Excel, la taxe AIRSI devrait porter sur le montant TTC, c'est à dire le montant HT + TVA
Dans ton calcul, AIRSI ne prend comme base que le montant HT
Vala
Jack, MVP VB NB : Je ne répondrai pas aux messages privés
<hr />Le savoir est la seule matière qui s'accroit quand on la partage (Socrate)
cs_Jack
Messages postés14006Date d'inscriptionsamedi 29 décembre 2001StatutModérateurDernière intervention28 août 201579 27 déc. 2008 à 17:05
Ou alors, c'est ton calcul Excel qui n'est pas juste !
Je ne connais pas cette taxe AIRSI.
Vois avec ton comptable pour savoir sur quelle base elle s'applique (HT ou TTC).
us_30
Messages postés2065Date d'inscriptionlundi 11 avril 2005StatutMembreDernière intervention14 mars 201610 27 déc. 2008 à 21:11
Bonsoir,
Attention à la fonction VAL !!
Il faut regarder comment sont rentrer les nombres décimaux... Si T_TotalHT n'est pas typé, alors il peut être avec une virgule et VAL va alors en garder que la partie entière... d'où d'inévitables erreurs d'arrondis... peut-être bien la cause de la différence de 45...
Pour le constater, il suffit de vérifier la valeur T_totalHT et VAL(T_totalHT) avec un affichage juste avant le calcul.
us_30
Messages postés2065Date d'inscriptionlundi 11 avril 2005StatutMembreDernière intervention14 mars 201610 27 déc. 2008 à 22:44
Bonsoir,
Le problème est donc identifié.
De toute évidence, il faut comprendre comment est allouée la valeur à la variable T_totalHT... et très probablement, tu n'as pas déclaré son type ?... A priori avec :
Dim T_TotalHT as Double
ce qui permettera d'éviter le pb rencontré. Mais il faudrait également le faire pour toutes les autres, sinon tu laisses VBA faire le travail de conversion entre les types, qui est donc parfois pas fait comme on le voudrait. Cela s'appelle "structurer" son programme... Si je comprends bien ta situation, toutes les variables utilisées sont par défaut, soit en type Variant...