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 :
\prix est une variable utilisée uniquement dans cette fonction
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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} \\ }
\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 :
Dans mon esprit, à chaque fois que j'utilise la fonction \ligne{..} le \prix de la ligne s'ajoutent à mon \totalHT.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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}
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 !
Partager