Calcul simple avec fltpoint
Bonjour à tous,
je n'ai pas trop d'expérience avec Xelatex, le problème que je rencontre me semble tout bête mais je ne trouve pas de solution...
Je tente de créer une facture automatique, il n'y a que quelques additions/multiplications à réaliser, pour cela j'utilise fltpoint.
J'ai créer une fonction pour chaque ligne de ma facture, comme ceci :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18
|
\newcommand\ligne[4]{%
% calculs nécessaires
% Total de la ligne
\fpMul{\prix}{#3}{#4}
\xdef\prix{\prix}
% Total de la facture/devis
\fpAdd{\totalHT}{\totalHT}{\prix}
\xdef\totalHT{\totalHT}
#1 &
#2 &
#3 &
\numprint[\unite]{#4} &
\numprint[\unite]{\prix}
\\
} |
\prix est une variable utilisée uniquement dans cette fonction
\totalHT est une variable définie au début de mon document (via \xdef\totalHT{0} )
J'ajoute les lignes de la façon suivante :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13
| \begin{longtabu} to \textwidth{X[5.5,L,m]X[0.8,c,m]X[1,c,m]X[1,c,m]X[1,r,m]}
\taburowcolors 1{headcolor .. headcolor}
\rowfont[c]{\bfseries}%
Désignation & Unité & Quantitée & Prix unitaire H.T & Montant \tabularnewline
\taburowcolors 1{tablecolor1 .. tablecolor2}
\ligne{Produit 1}{Element}{1}{1}
\ligne{Produit 2}{Element}{1}{1}
\ligne{Produit 3}{Element}{1}{1}
\taburowcolors 1{totalcolor .. totalcolor}
Total H.T & & & & \numprint[\unite]{\totalHT}\\
TVA 20\% & & & & \numprint[\unite]{0}\\
Total TTC & & & & \numprint[\unite]{0}\\
\end{longtabu} |
Dans mon esprit, à chaque fois que j'utilise la fonction \ligne{..} le \prix de la ligne s'ajoutent à mon \totalHT.
Or si j'ajoute trois ligne avec un montant à 1€, j'obtiens un \totalHT à 9€ !
Il semble que la fonction soit exécuté trois fois (j'ai vérifié ça en changeant le montant des lignes pour que ça me donne un total de 5 et ça m'a donné 15)....et je ne comprend pas pourquoi ?
Des idées ?
Merci d'avance !