texlive[60724] Master/texmf-dist: profcollege

commits+karl at tug.org commits+karl at tug.org
Sun Oct 10 22:48:36 CEST 2021


Revision: 60724
          http://tug.org/svn/texlive?view=revision&revision=60724
Author:   karl
Date:     2021-10-10 22:48:36 +0200 (Sun, 10 Oct 2021)
Log Message:
-----------
profcollege

Modified Paths:
--------------
    trunk/Master/texmf-dist/doc/latex/profcollege/ProfCollege-doc.pdf
    trunk/Master/texmf-dist/doc/latex/profcollege/ProfCollege-doc.zip
    trunk/Master/texmf-dist/tex/latex/profcollege/ProfCollege.sty

Modified: trunk/Master/texmf-dist/doc/latex/profcollege/ProfCollege-doc.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex/profcollege/ProfCollege-doc.zip
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/tex/latex/profcollege/ProfCollege.sty
===================================================================
--- trunk/Master/texmf-dist/tex/latex/profcollege/ProfCollege.sty	2021-10-10 20:39:35 UTC (rev 60723)
+++ trunk/Master/texmf-dist/tex/latex/profcollege/ProfCollege.sty	2021-10-10 20:48:36 UTC (rev 60724)
@@ -3,7 +3,7 @@
 % or later, see http://www.latex-project.org/lppl.txtf
 
 \NeedsTeXFormat{LaTeX2e}
-\ProvidesPackage{ProfCollege}[2021/09/01 v0.99-g Aide pour l'utilisation de LaTeX au collège]
+\ProvidesPackage{ProfCollege}[2021/10/01 v0.99-h Aide pour l'utilisation de LaTeX au collège]
 
 \RequirePackage{verbatim}
 
@@ -821,7 +821,7 @@
       \Numberstringnum{\ListeEcriture[1]}\ifboolKV[ClesEcriture]{Math}{\ifboolKV[ClesEcriture]{E}{e}{}~unité\EcriturePluriel{\ListeEcriture[1]}}{}%
     }{%
       \numberstringnum{\ListeEcriture[1]}\ifboolKV[ClesEcriture]{Math}{\ifboolKV[ClesEcriture]{E}{e}{}~unité\EcriturePluriel{\ListeEcriture[1]}}{}%
-    } 
+    }%
   }%
 }%
 
@@ -1666,12 +1666,10 @@
   \end{NiceTabular}
 }%
 
-%%%
-% Colorilude
-%%%
+%%% Colorilude %%%
 \setKVdefault[Colorilude]{Largeur=10,Lignes=10,Legende=false,Coef=0.6,Solution=false}
 
-\newcommand{\dispogpfc}[3][]{%
+\newcommand\dispogpfc[3][]{%
   \setbox1=\hbox{#2}%
   \setbox2=\hbox{#3}%
   \begin{minipage}{\wd2}%
@@ -2102,10 +2100,8 @@
   }%
 }%
 
-%%%
-% Dessin Gradue
-%%%
-\setKVdefault[DessinGradue]{Lignes=10,Debut=-5,Fin=5,Pas=10,Solution=false,EcartVertical=1.5,LignesIdentiques,Longueur=10,Echelle=1}
+%%% Dessin Gradue %%%
+\setKVdefault[DessinGradue]{Lignes=10,Debut=-5,Fin=5,Pas=10,Solution=false,EcartVertical=1.5,LignesIdentiques,Longueur=10,Echelle=1,Droites=false}
 
 \def\TraceDessinGradue#1#2#3#4{%
   \ifluatex
@@ -2420,55 +2416,62 @@
 \def\UpdateLignes#1/#2/#3\nil{\addtotok\toklisteptsgrad{#1,#3,#2,}}
 \def\UpdateTraces#1\nil{\addtotok\toklistetracesgrad{#1,}}
 \def\UpdateDefLignes#1/#2/#3\nil{\addtotok\toklistedefligne{(#1,#2,#3),}}
+\def\UpdateDefDroites#1/#2/#3/#4\nil{\addtotok\toklistedefligne{(#1,#2,#3),#4,}}
 
 \newcommand\DessinGradue[4][]{%
   \useKVdefault[DessinGradue]%
   \setKV[DessinGradue]{#1}%
-  \ifboolKV[DessinGradue]{LignesIdentiques}{%
-    \ifboolKV[DessinGradue]{Solution}{%
-      \setsepchar[*]{,*/}%
-      \readlist\ListePG{#3}%
-      \setsepchar[*]{§*/}%
-      \readlist\ListeTraces{#4}%
-      \newtoks\toklisteptsgrad%
-      \foreachitem\compteur\in\ListePG{\expandafter\UpdateLignes\compteur\nil}%
-      \newtoks\toklistetracesgrad%
-      \foreachitem\compteur\in\ListeTraces{\expandafter\UpdateTraces\compteur\nil}%
-      \TraceDessinGradueSolution{\useKV[DessinGradue]{Lignes}}{\useKV[DessinGradue]{Debut}}{\useKV[DessinGradue]{Fin}}{\useKV[DessinGradue]{Pas}}{\the\toklisteptsgrad}{\the\toklistetracesgrad}%
+  \ifboolKV[DessinGradue]{Droites}{%
+    %en travail
+    \setsepchar[*]{,*/}%
+    \readlist\ListeDefDroites{#2}%
+    \newtoks\toklistedefdroites%
+    \foreachitem\compteur\in\ListeDefDroites{\expandafter\UpdateDefDroites\compteur\nil}%
+    %en travail
+  }{%
+    \ifboolKV[DessinGradue]{LignesIdentiques}{%
+      \ifboolKV[DessinGradue]{Solution}{%
+        \setsepchar[*]{,*/}%
+        \readlist\ListePG{#3}%
+        \setsepchar[*]{§*/}%
+        \readlist\ListeTraces{#4}%
+        \newtoks\toklisteptsgrad%
+        \foreachitem\compteur\in\ListePG{\expandafter\UpdateLignes\compteur\nil}%
+        \newtoks\toklistetracesgrad%
+        \foreachitem\compteur\in\ListeTraces{\expandafter\UpdateTraces\compteur\nil}%
+        \TraceDessinGradueSolution{\useKV[DessinGradue]{Lignes}}{\useKV[DessinGradue]{Debut}}{\useKV[DessinGradue]{Fin}}{\useKV[DessinGradue]{Pas}}{\the\toklisteptsgrad}{\the\toklistetracesgrad}%
+      }{%
+        \TraceDessinGradue{\useKV[DessinGradue]{Lignes}}{\useKV[DessinGradue]{Debut}}{\useKV[DessinGradue]{Fin}}{\useKV[DessinGradue]{Pas}}%
+      }
     }{%
-      \TraceDessinGradue{\useKV[DessinGradue]{Lignes}}{\useKV[DessinGradue]{Debut}}{\useKV[DessinGradue]{Fin}}{\useKV[DessinGradue]{Pas}}%
-    }
-  }{%
-    \setsepchar[*]{,*/}%
-    \readlist\ListeDefLigne{#2}%
-    \newtoks\toklistedefligne%
-    \foreachitem\compteur\in\ListeDefLigne{\expandafter\UpdateDefLignes\compteur\nil}%
-    \ifboolKV[DessinGradue]{Solution}{%
-      %
       \setsepchar[*]{,*/}%
-      \readlist\ListePG{#3}%
-      \setsepchar[*]{§*/}%
-      \readlist\ListeTraces{#4}%
-      \newtoks\toklisteptsgrad%
-      \foreachitem\compteur\in\ListePG{\expandafter\UpdateLignes\compteur\nil}%
-      \newtoks\toklistetracesgrad%
-      \foreachitem\compteur\in\ListeTraces{\expandafter\UpdateTraces\compteur\nil}%
-      \TraceDessinGradueMulSolution{\the\toklistedefligne}{\the\toklisteptsgrad}{\the\toklistetracesgrad}%
-    }{%
-      \TraceDessinGradueMul{\the\toklistedefligne}%
+      \readlist\ListeDefLigne{#2}%
+      \newtoks\toklistedefligne%
+      \foreachitem\compteur\in\ListeDefLigne{\expandafter\UpdateDefLignes\compteur\nil}%
+      \ifboolKV[DessinGradue]{Solution}{%
+        \setsepchar[*]{,*/}%
+        \readlist\ListePG{#3}%
+        \setsepchar[*]{§*/}%
+        \readlist\ListeTraces{#4}%
+        \newtoks\toklisteptsgrad%
+        \foreachitem\compteur\in\ListePG{\expandafter\UpdateLignes\compteur\nil}%
+        \newtoks\toklistetracesgrad%
+        \foreachitem\compteur\in\ListeTraces{\expandafter\UpdateTraces\compteur\nil}%
+        \TraceDessinGradueMulSolution{\the\toklistedefligne}{\the\toklisteptsgrad}{\the\toklistetracesgrad}%
+      }{%
+        \TraceDessinGradueMul{\the\toklistedefligne}%
+      }%
     }%
   }%
 }%
 
-%%%
-% Autonomie
-%%%
+%%% Autonomie %%%
 \setKVdefault[Autonomie]{AfficheMarge=false,TitreEnigme=Enigme,TitreAtoi=\`A toi,Enigme=false,TexteCorrection=\bfseries Correction}%
 
 \newcommand\Autonomie[3][]{%
   \useKVdefault[Autonomie]%
   \setKV[Autonomie]{#1}%
-  \setsepchar[*]{§*/}
+  \setsepchar[*]{§*/}%
   \readlist*\ListeAutoQ{#2}%
   % \setsepchar{§}
   % \readlist*\ListeAutoR{#3}%
@@ -4874,11 +4877,11 @@
     E-D=F-B;
     draw A{dir(angle(B-A)+5)}..B{dir(angle(B-A)+5)};
     draw B{dir(angle(C-B)+5)}..C{dir(angle(C-B)+5)};
-    draw C{dir(angle(A-C)+5)}..A{dir(angle(A-C)+5)};    
+    draw C{dir(angle(A-C)+5)}..A{dir(angle(A-C)+5)};
     draw D--E--F;
     numeric decalage;
     decalage=3mm;
-    if #4<#5 :
+    if (#4<#5) or (#4=#5) :
     if ypart(B)>ypart(O) :
         label(btex \num{#4} etex,1/2[C,B]-decalage*(unitvector(A-B)));
         label(btex \num{#5} etex,1/2[A,B]-decalage*(unitvector(C-B)));
@@ -4888,8 +4891,8 @@
      fi
     else:
       if ypart(B)>ypart(O) :
-      label(btex \num{#4} etex,1/2[C,A]-decalage*(unitvector(C-A) rotated 90));
-        label(btex \num{#5} etex,1/2[C,B]+decalage*(unitvector(B-A)));
+        label(btex \num{#4} etex,1/2[C,A]-decalage*(unitvector(C-A) rotated 90));
+        label(btex \num{#5} etex,1/2[A,B]-decalage*(unitvector(C-B)));
         else:
         label(btex \num{#4} etex,1/2[A,C]+decalage*(unitvector(A-C)
         rotated 90));
@@ -4923,7 +4926,7 @@
     draw C{dir(angle(A-C)+5)}..A{dir(angle(A-C)+5)};    
     draw D--E--F;
     decalage=3mm;
-    if #4<#5 :
+    if (#4<#5) or (#4=#5) :
     if ypart(B)>ypart(O) :
         label(btex \num{#4} etex,1/2[C,B]-decalage*(unitvector(A-B)));
         label(btex \num{#5} etex,1/2[A,B]-decalage*(unitvector(C-B)));
@@ -4934,7 +4937,7 @@
     else:
       if ypart(B)>ypart(O) :
       label(btex \num{#4} etex,1/2[C,A]-decalage*(unitvector(C-A) rotated 90));
-        label(btex \num{#5} etex,1/2[C,B]+decalage*(unitvector(B-A)));
+        label(btex \num{#5} etex,1/2[A,B]-decalage*(unitvector(C-B)));
         else:
         label(btex \num{#4} etex,1/2[A,C]+decalage*(unitvector(A-C)
         rotated 90));
@@ -6210,7 +6213,7 @@
 %%%
 % Nombre Premier
 %%%
-\setKVdefault[ClesNombrePremier]{Tableau=false,TableauVertical=false,TableauVerticalVide=false,Exposant=false,Longue=false,All=false,Arbre=false,ArbreVide=false,ArbreComplet=false,Diviseurs=false,DiviseursT=false,Dot=\dotfill,Impose=false,ImposeAll=false}
+\setKVdefault[ClesNombrePremier]{Tableau=false,TableauVertical=false,TableauVerticalVide=false,Exposant=false,Longue=false,All=false,Arbre=false,ArbreVide=false,ArbreComplet=false,Diviseurs=false,DiviseursT=false,Dot=\dotfill,Impose=false,ImposeAll=false,Potence=false}
 \defKV[ClesNombrePremier]{Nombre=\setKV[ClesNombrePremier]{Impose}}
 \defKV[ClesNombrePremier]{AllNombre=\setKV[ClesNombrePremier]{ImposeAll}}
 
@@ -6220,6 +6223,7 @@
   \ifboolKV[ClesNombrePremier]{Impose}{\NombrePremierImpose{#2}{\useKV[ClesNombrePremier]{Nombre}}{\fpeval{#2/\useKV[ClesNombrePremier]{Nombre}}}}{}%
   \ifboolKV[ClesNombrePremier]{ImposeAll}{\NombrePremierImposeAll{#2}{\useKV[ClesNombrePremier]{AllNombre}}{\fpeval{#2/\useKV[ClesNombrePremier]{AllNombre}}}}{}%
   \ifboolKV[ClesNombrePremier]{Tableau}{\NombrePremier{#2}}{}%
+  \ifboolKV[ClesNombrePremier]{Potence}{\NombrePremierPotence{#2}}{}%
   \ifboolKV[ClesNombrePremier]{TableauVertical}{\NombrePremierVertical{#2}}{}%
   \ifboolKV[ClesNombrePremier]{TableauVerticalVide}{\NombrePremierVerticalVide{#2}}{}%
   \ifboolKV[ClesNombrePremier]{Exposant}{\PremierExposant{#2}}{}%
@@ -6785,7 +6789,7 @@
   \fi%
 }%
 
-\newcommand{\NombrePremierVertical}[1]{%\'ecrire la d\'ecomposition compl\`ete
+\newcommand\NombrePremierVertical[1]{%\'ecrire la d\'ecomposition compl\`ete
   % #1 le nombre premier \`a tester
   \newcount\anpv\newcount\bnpv\newcount\cnpv%\newcount\e\newcount\f%
   \anpv=#1\relax
@@ -6813,6 +6817,49 @@
   \fi
 }
 
+\newcommand\NombrePremierPotence[1]{%\'ecrire la d\'ecomposition compl\`ete
+  % #1 le nombre premier \`a tester
+  \newcount\anpv\newcount\bnpv\newcount\cnpv%\newcount\e\newcount\f%
+  \anpv=#1\relax
+  \bnpv=2\relax
+  \premier=-1\relax
+  % Pour d\'eterminer le nombre d'\'etapes
+  \whiledo{\anpv > 1}{%
+    \modulo{\the\anpv}{\the\bnpv}
+    \ifnum\remainder=0\relax
+      \global\premier=\numexpr\premier+1\relax
+      \cnpv=\numexpr\anpv/\bnpv\relax
+      \anpv=\cnpv\relax
+    \else%
+      \bnpv=\numexpr\bnpv+1\relax%
+    \fi%
+  }
+  \ifnum\premier=0%
+    Le nombre \num{#1} est un nombre premier.%
+  \else%
+  \xdef\PotenceCases{\fpeval{\premier+2}}%
+    \begin{NiceTabular}{*{\PotenceCases}{c}}
+      %\Body
+      \PremierMultipleVide{#1}{0}&\multicolumn{1}{|c}{\PremierDiviseurVide{#1}{1}}\\
+      \hhline{~-}
+      \xintFor* ##1 in {\xintSeq {1}{\premier}}\do{%
+        \xintifboolexpr{##1 == 0}{}{\xintFor* ##2 in {\xintSeq {1}{##1}}\do{%
+            &}%
+        }%
+        \multicolumn{1}{|c}{\PremierMultipleVide{#1}{##1}}&\multicolumn{1}{|c}{\xdef\Etape{\fpeval{##1+1}}\PremierDiviseurVide{#1}{\Etape}}\\
+        \hhline{*{\fpeval{##1+1}}{~}-}
+      }%
+      \xintFor* ##1 in {\xintSeq {1}{\fpeval{\PotenceCases-2}}}\do{%
+        &}&\multicolumn{1}{|c}{1}\\
+      \CodeAfter
+      \tikz \draw [white,fill=white] (1 -|2) circle (0.5mm);
+      \xintFor* ##1 in {\xintseq{2}{\PotenceCases}}\do{%
+        \tikz \draw [white,fill=white,transform canvas={xshift=0mm}] (\fpeval{##1-1} -|##1) circle (0.5mm);
+      }%
+    \end{NiceTabular}%
+  \fi%
+}
+
 \newcommand{\PremierDiviseurVide}[2]{%
   %#1 : le nombre entier \`a tester
   %#2 : le nombre d'\'etapes \`a effectuer
@@ -9177,7 +9224,7 @@
 \setKVdefault[ClesStat]{ColVide=0,EffVide=false,%
 FreqVide=false,AngVide=false,ECCVide=false,TotalVide=false,Sondage=false,%
 Tableau=false,Stretch=1,Frequence=false,EffectifTotal=false,%
-Etendue=false,Moyenne=false,SET=false,Mediane=false,Total=false,Concret=false,%
+Etendue=false,Moyenne=false,SET=false,Mediane=false,QuartileUn=false,QuartileTrois=false,Total=false,Concret=false,%
 Unite={},Largeur=1cm,Precision=2,Donnee=Valeurs,Effectif=Effectif,Grille=false,Origine=0,Angle=false,SemiAngle=false,Qualitatif=false,TableauVide=false,Graphique=false,Batons=true,Pasx=1,Pasy=1,Unitex=0.5,Unitey=0.5,Rayon=3cm,AffichageAngle=false,Liste=false,ECC=false,Coupure=10,CouleurTab=gray!15,ListeCouleurs={white},Hachures=false,Inverse=false,AbscisseRotation=false,Representation=false}
 
 % La construction du tableau
@@ -9235,7 +9282,7 @@
       \hline%
       \the\tabtoksa&\cellcolor{\useKV[ClesStat]{CouleurTab}}Total\\\hline%
       \xintifboolexpr{\useKV[ClesStat]{ColVide}<1 || \useKV[ClesStat]{ColVide}>\ListeCompletelen}{%
-      \ifboolKV[ClesStat]{EffVide}{\useKV[ClesStat]{Effectif}\xintFor* ##1 in {\xintSeq {1}{\ListeCompletelen}}\do{&}}{\the\tabtoksb&\ifboolKV[ClesStat]{TotalVide}{}{\num{\EffectifTotal}}}\\\hline%
+      \ifboolKV[ClesStat]{EffVide}{\useKV[ClesStat]{Effectif}\xintFor* ##1 in {\xintSeq {1}{\ListeCompletelen}}\do{&}&}{\the\tabtoksb&\ifboolKV[ClesStat]{TotalVide}{}{\num{\EffectifTotal}}}\\\hline%
       \ifboolKV[ClesStat]{Frequence}{Fr\'equence (\%)\xintFor* ##1 in {\xintSeq {1}{\ListeCompletelen}}\do{&\ifboolKV[ClesStat]{TableauVide}{}{\ifboolKV[ClesStat]{FreqVide}{}{\CalculFrequence{##1}}}}&\ifboolKV[ClesStat]{TotalVide}{}{\ifboolKV[ClesStat]{TableauVide}{}{\ifboolKV[ClesStat]{FreqVide}{}{100}}}\\\hline}{}%
       \ifboolKV[ClesStat]{Angle}{Angle (\si{\degree})\xintFor* ##1 in {\xintSeq {1}{\ListeCompletelen}}\do{&\ifboolKV[ClesStat]{TableauVide}{}{\ifboolKV[ClesStat]{AngVide}{}{\CalculAngle{##1}}}}&\ifboolKV[ClesStat]{TotalVide}{}{\ifboolKV[ClesStat]{TableauVide}{}{\ifboolKV[ClesStat]{AngVide}{}{360}}}\\\hline}{}%
       \ifboolKV[ClesStat]{SemiAngle}{Angle (\si{\degree})\xintFor* ##1 in {\xintSeq {1}{\ListeCompletelen}}\do{&\ifboolKV[ClesStat]{TableauVide}{}{\ifboolKV[ClesStat]{AngVide}{}{\CalculSemiAngle{##1}}}}&\ifboolKV[ClesStat]{TotalVide}{}{\ifboolKV[ClesStat]{TableauVide}{}{\ifboolKV[ClesStat]{AngVide}{}{180}}}\\\hline}{}%
@@ -9984,11 +10031,11 @@
           {\xintSeq {2}{\ListeCompletelen}}\do{%
             +\ListeComplete[##1,2]}=\num{\EffectifTotal}\]}
     }{}%
-    \xdef\EffectifTotal{\SommeDonnees}%
+    \ifboolKV[ClesStat]{Liste}{\xdef\EffectifTotal{\ListeCompletelen}}{\xdef\EffectifTotal{\SommeDonnees}}%
     %  %% celui de la moyenne
     \xdef\Moyenne{\fpeval{\SommeDonnees/\ListeCompletelen}}%	
     \ifboolKV[ClesStat]{Moyenne}{%
-      \ifboolKV[ClesStat]{Liste}{%    
+      \ifboolKV[ClesStat]{Liste}{%
         La somme des donn\'ees de la s\'erie est :%
         \xintifboolexpr{\ListeCompletelen<\useKV[ClesStat]{Coupure}}{%
           \[
@@ -10027,6 +10074,31 @@
       \ifboolKV[ClesStat]{Liste}{%
         L'\'etendue de la s\'erie est \'egale \`a $\num{\DonneeMax}\ifboolKV[ClesStat]{Concret}{~\text{\useKV[ClesStat]{Unite}}}{}-\num{\DonneeMin}\ifboolKV[ClesStat]{Concret}{~\text{\useKV[ClesStat]{Unite}}}{}=\num{\Etendue}$\ifboolKV[ClesStat]{Concret}{~\useKV[ClesStat]{Unite}.}{.}%
       }{Pas d'\'etendue possible pour une s\'erie de donn\'ees \`a caract\`ere qualitatif.}}{}%
+    % celui de la mediane
+    %%% Recuperation de la mediane %%%%%%%%%%%%%%%%%%%%% 
+    \newcount\Recapmed%
+    \newcount\Recapmeda%
+    \ifodd\number\ListeCompletelen%odd impair
+    \Recapmed=\fpeval{(\ListeCompletelen+1)/2}\relax%
+    \else%
+    \Recapmed=\fpeval{\ListeCompletelen/2}\relax%
+    \Recapmeda=\numexpr\Recapmed+1\relax%
+    \fi%
+    \newcount\Recapk%
+    \Recapk=0%
+    \DTLforeach{mtdb}{\numeroDonnee=Numeric}{\Recapk=\numexpr\Recapk+1\relax%
+      \ifnum\Recapk=\Recapmed%
+      \ifodd\number\ListeCompletelen%
+      \xdef\Mediane{\numeroDonnee}%
+      \else%
+      \xdef\Mediane{\numeroDonnee}%
+      \fi%
+      \fi%
+      \ifnum\Recapk=\Recapmeda%
+      \xdef\Mediane{\fpeval{(\Mediane+\numeroDonnee)/2}}%
+      \fi%
+    }%
+    %%%
     \ifboolKV[ClesStat]{Mediane}{%
       \ifboolKV[ClesStat]{Liste}{%    
         On range les donn\'ees par ordre croissant :%
@@ -10059,18 +10131,49 @@
           \ifnum\k=\med %La m\'ediane vaut \numeroDonnee\fi
           \ifodd\number\ListeCompletelen%
           La m\'ediane de la s\'erie est la \the\med\ieme{} donn\'ee.\\Donc la m\'ediane de la s\'erie est \num{\numeroDonnee}\ifboolKV[ClesStat]{Concret}{~\useKV[ClesStat]{Unite}.}{.}%
+          \xdef\Mediane{\numeroDonnee}%
           \else%
-          La \the\med\ieme{} donn\'ee est \num{\numeroDonnee}\ifboolKV[ClesStat]{Concret}{~\useKV[ClesStat]{Unite}.}{.}\xdef\Mediane{\numeroDonnee}%
+          La \the\med\ieme{} donn\'ee est \num{\numeroDonnee}\ifboolKV[ClesStat]{Concret}{~\useKV[ClesStat]{Unite}. }{. }\xdef\Mediane{\numeroDonnee}%
           \fi%
           \fi%
           \ifnum\k=\meda
           La \the\meda\ieme{} donn\'ee est \num{\numeroDonnee}\ifboolKV[ClesStat]{Concret}{~\useKV[ClesStat]{Unite}.}{.} Donc la m\'ediane de la s\'erie est \xdef\Mediane{\fpeval{(\Mediane+\numeroDonnee)/2}}\num{\Mediane}\ifboolKV[ClesStat]{Concret}{~\useKV[ClesStat]{Unite}.}{.}%
-        \fi%
-      }%
-      %%%%%%%%%%%%%%%%%%%%%%%% 
-    }{Pas de m\'ediane possible pour une s\'erie de donn\'ees \`a caract\`ere qualitatif.}}{}%
-  % Construction du tableau
-  \ifboolKV[ClesStat]{Tableau}{%
+          \fi%
+        }%
+        %%%%%%%
+      }{Pas de m\'ediane possible pour une s\'erie de donn\'ees \`a caract\`ere qualitatif.}}{}
+    %%% Quartile un
+    \newcount\PfCQuartileUn%
+    \modulo{\ListeCompletelen}{4}\relax%
+    \ifnum\remainder=0%
+    \PfCQuartileUn=\fpeval{\ListeCompletelen/4}%
+    \else%
+    \PfCQuartileUn=\fpeval{ceil(\ListeCompletelen/4)+1}%
+    \fi%
+    \newcount\PfCQunk%
+    \PfCQunk=0%
+    \DTLforeach{mtdb}{\numeroDonnee=Numeric}{\PfCQunk=\numexpr\PfCQunk+1\relax%
+      \ifnum\PfCQunk=\PfCQuartileUn%
+      \xdef\QuartileUn{\numeroDonnee}%
+      \fi%
+    }%
+    %%% Quartile trois
+    \newcount\PfCQuartileTrois%
+    \modulo{\ListeCompletelen}{4}\relax%
+    \ifnum\remainder=0%
+    \PfCQuartileTrois=\fpeval{3*\ListeCompletelen/4}%
+    \else%
+    \PfCQuartileTrois=\fpeval{ceil(3*\ListeCompletelen/4)+1}%
+    \fi%
+    \newcount\PfCQtroisk%
+    \PfCQtroisk=0%
+    \DTLforeach{mtdb}{\numeroDonnee=Numeric}{\PfCQtroisk=\numexpr\PfCQtroisk+1\relax%
+      \ifnum\PfCQtroisk=\PfCQuartileTrois%La m\'ediane vaut \numeroDonnee\fi
+      \xdef\QuartileTrois{\numeroDonnee}%
+      \fi%
+    }%
+    % Construction du tableau
+    \ifboolKV[ClesStat]{Tableau}{%
     \ifboolKV[ClesStat]{Liste}{Pas de tableau possible avec la cl\'e Liste.\\Utilisez plut\^ot la cl\'e Sondage si vous voulez un tableau avec cette liste.}{%
       \ifboolKV[ClesStat]{Total}{\buildtabt}{\buildtab}}}%
   {}%
@@ -10139,7 +10242,34 @@
   %  % Affichage des r\'eponses.
   %  %% pour l'\'etendue
   \ifboolKV[ClesStat]{Etendue}{L'\'etendue de la s\'erie est \'egale \`a $\num{\ListeComplete[\ListeCompletelen,1]}\ifboolKV[ClesStat]{Concret}{~\text{\useKV[ClesStat]{Unite}}}{}-\num{\ListeComplete[1,1]}\ifboolKV[ClesStat]{Concret}{~\text{\useKV[ClesStat]{Unite}}}{}=\num{\Etendue}$\ifboolKV[ClesStat]{Concret}{~\useKV[ClesStat]{Unite}.}{.}}{}%
-  %  %% pour la m\'ediane
+  % pour la m\'ediane
+  %%% Recuperation Mediane
+  \newcount\Recupmed%
+  \newcount\Recupmeda%
+  \ifodd\number\EffectifTotal%odd impair
+  \Recupmed=\fpeval{(\EffectifTotal+1)/2}\relax%
+  \else% pair
+  \Recupmed=\fpeval{\EffectifTotal/2}\relax%
+  \Recupmeda=\numexpr\Recupmed+1\relax%
+  \fi%
+  \newcount\Recupk%
+  \Recupk=0%
+  \xintFor* ##1 in {\xintSeq {1}{\ListeCompletelen}}\do{%
+    \xintFor* ##2 in {\xintSeq {1}{\ListeComplete[##1,2]}}\do{%
+        \Recupk=\numexpr\Recupk+1\relax%
+        \ifnum\Recupk=\Recupmed%
+        \ifodd\number\EffectifTotal%
+        \xdef\Mediane{\ListeComplete[##1,1]}%
+        \else%
+        \xdef\Mediane{\ListeComplete[##1,1]}%
+        \fi%
+        \fi%
+        \ifnum\Recupk=\Recupmeda%
+        \xdef\Mediane{\fpeval{(\Mediane+\ListeComplete[##1,1])/2}}%
+        \fi%
+      }%
+    }%
+  %%%
   \ifboolKV[ClesStat]{Mediane}{%
     
     \newcount\med%
@@ -10170,6 +10300,42 @@
       }%
     }%
   }{}%
+  %%% Quartile un
+  \newcount\PfCQuartileUn%
+  \modulo{\EffectifTotal}{4}\relax%
+  \ifnum\remainder=0%
+  \PfCQuartileUn=\fpeval{\EffectifTotal/4}%
+  \else%
+  \PfCQuartileUn=\fpeval{ceil(\EffectifTotal/4)+1}%
+  \fi%
+  \newcount\PfCQunk%
+  \PfCQunk=0%
+  \xintFor* ##1 in {\xintSeq {1}{\ListeCompletelen}}\do{%
+    \xintFor* ##2 in {\xintSeq {1}{\ListeComplete[##1,2]}}\do{%
+      \PfCQunk=\numexpr\PfCQunk+1\relax%
+      \ifnum\PfCQunk=\PfCQuartileUn%
+      \xdef\QuartileUn{\ListeComplete[##1,1]}%
+      \fi%
+    }%
+  }%
+  %%% Quartile trois
+  \newcount\PfCQuartileTrois%
+  \modulo{\EffectifTotal}{4}\relax%
+  \ifnum\remainder=0%
+  \PfCQuartileTrois=\fpeval{3*\EffectifTotal/4}%
+  \else%
+  \PfCQuartileTrois=\fpeval{ceil(3*\EffectifTotal/4)+1}%
+  \fi%
+  \newcount\PfCQtroisk%
+  \PfCQtroisk=0%
+  \xintFor* ##1 in {\xintSeq {1}{\ListeCompletelen}}\do{%
+    \xintFor* ##2 in {\xintSeq {1}{\ListeComplete[##1,2]}}\do{%
+      \PfCQtroisk=\numexpr\PfCQtroisk+1\relax%
+      \ifnum\PfCQtroisk=\PfCQuartileTrois%
+      \xdef\QuartileTrois{\ListeComplete[##1,1]}%
+      \fi%
+    }%
+  }%
   % Construction de tableau
   \ifboolKV[ClesStat]{Tableau}{\ifboolKV[ClesStat]{Total}{\buildtabt}{%
       \buildtab%
@@ -13751,7 +13917,7 @@
       \begin{tikzpicture}[remember picture, overlay]
         \node[draw,fill=\ColorFill,dashed,rounded corners=2,rotate={\useKV[ClesFormule]{Angle}}] (test) at \useKV[ClesFormule]{Ancre} {\begin{minipage}{\RoundedBoxWidth}%
             \IfStrEqCase{\useKV[ClesFormule]{Surface}}{%
-              {carr\'e}{\begin{center}
+              {carre}{\begin{center}
                   \MPFigureCarre\par
                   Aire d'un carr\'e :\par$c\times c$
               \end{center}}%
@@ -15854,7 +16020,7 @@
 %%%
 \newcommand\Puissances[2]{%
   \ensuremath{%
-    \xintifboolexpr{#2==0}{1}{\xintifboolexpr{#2>0}{\xdef\total{\fpeval{#2-1}}#1\multido{\i=1+1}{\total}{\times#1}}{\xdef\total{\fpeval{-#2-1}}\frac{1}{#1\multido{\i=1+1}{\total}{\times#1}}}}%
+    \xintifboolexpr{#2==0}{1}{\xintifboolexpr{#2>0}{\xdef\TotalP{\fpeval{#2-1}}#1\multido{\i=1+1}{\TotalP}{\times#1}}{\xdef\TotalP{\fpeval{-#2-1}}\frac{1}{#1\multido{\i=1+1}{\TotalP}{\times#1}}}}%
   }%
 }
 
@@ -16140,183 +16306,198 @@
 %%%
 \setKVdefault[ClesTableaux]{Virgule=true,Entiers=false,Decimaux=false,Milliards=false,Millions=false,Micro=false,Nano=false,Partie=false,CouleurG=gray!15,CouleurM=gray!15,Couleurm=gray!15,Couleuru=gray!15,Classes=false,Nombres=false,Puissances=false,NbLignes=2,Metre=false,Are=false,Capacite=false,Carre=false,Cube=false,Litre=false,Gramme=false,Fleches=false,FlechesB=false,FlechesH=false,Colonnes=false,Prefixes=false}
 
-\newcommand\Tableau[1][]{%
+\newcommand\PfCTBstrut{\rule[-1.2ex]{0pt}{3.8ex}} % Top and Bottom strut
+
+\newcommand\Tableau[2][]{%
   \useKVdefault[ClesTableaux]%
   \setKV[ClesTableaux]{#1}%
-  % 
+  %
   %%% Cl\'e Prefixes
-  % 
+  %
   \ifboolKV[ClesTableaux]{Prefixes}{%
+    \xdef\DecalageLigne{0}%
     \setlength{\tabcolsep}{0.01\tabcolsep}%
     \begin{center}%
-      % 
+      %
       %%% Definition du tableau
-      % 
-      \begin{tabular}{|*{\ifboolKV[ClesTableaux]{Milliards}{12}{%
-      \ifboolKV[ClesTableaux]{Millions}{9}{6}%
-      }}{>{\centering\arraybackslash}m{3.25em}|}>{\columncolor{gray!15}}{c}|*{%	
-      \ifboolKV[ClesTableaux]{Micro}{6}{%
-      \ifboolKV[ClesTableaux]{Nano}{9}{3}%
-      }}%
-      {>{\centering\arraybackslash}m{3.25em}|}}%
+      %
+      \ifboolKV[ClesTableaux]{Milliards}{\xdef\PfCDerniereColonne{16}}{\ifboolKV[ClesTableaux]{Millions}{\xdef\PfCDerniereColonne{13}}{\xdef\PfCDerniereColonne{10}}}%
+      \ifboolKV[ClesTableaux]{Nano}{\xdef\PfCDerniereColonne{\fpeval{\PfCDerniereColonne+6}}}{\ifboolKV[ClesTableaux]{Micro}{\xdef\PfCDerniereColonne{\fpeval{\PfCDerniereColonne+3}}}{}}
+      \begin{NiceTabular}{*{\ifboolKV[ClesTableaux]{Milliards}{12}{%
+              \ifboolKV[ClesTableaux]{Millions}{9}{6}%
+            }}{m{3.25em}}>{\columncolor{gray!15}}{c}*{%	
+            \ifboolKV[ClesTableaux]{Micro}{6}{%
+              \ifboolKV[ClesTableaux]{Nano}{9}{3}%
+            }}%
+          {m{3.25em}}}%
         %
       	%%% Prise en compte de la cl\'e Partie
       	%
         \ifboolKV[ClesTableaux]{Partie}{%
-        \multicolumn{%
-        \ifboolKV[ClesTableaux]{Milliards}{12}{%
-      \ifboolKV[ClesTableaux]{Millions}{9}{6}%
-      }}{c}{\bfseries Partie enti\`ere}
-        &\multicolumn{1}{c}{\cellcolor{gray!15}\ifboolKV[ClesTableaux]{Virgule}{,}{}}%
-        &\multicolumn{%	
-      \ifboolKV[ClesTableaux]{Micro}{6}{%
-      \ifboolKV[ClesTableaux]{Nano}{9}{3}%
-      }}%
-      {c}{\bfseries Partie d\'ecimale}\\}{}%
+          \xdef\DecalageLigne{\fpeval{\DecalageLigne+1}}%
+          \Block[]{1-%
+            \ifboolKV[ClesTableaux]{Milliards}{12}{%
+              \ifboolKV[ClesTableaux]{Millions}{9}{6}%
+            }}{\bfseries Partie enti\`ere}\ifboolKV[ClesTableaux]{Milliards}{%
+            &&&&&&%
+          }{%
+            \ifboolKV[ClesTableaux]{Millions}{%
+              &&&%
+            }{%
+            }}%
+          &&&&&
+          &\Block[fill=gray!15]{}{\ifboolKV[ClesTableaux]{Virgule}{,}{}}%
+          &\Block[]{1-%
+            \ifboolKV[ClesTableaux]{Micro}{6}{%
+              \ifboolKV[ClesTableaux]{Nano}{9}{3}%
+            }}{\bfseries Partie d\'ecimale}
+          &&%
+          \ifboolKV[ClesTableaux]{Micro}{&&&}{%
+            \ifboolKV[ClesTableaux]{Nano}{&&&&&&}{}%
+          }%
+          \\
+        }{}%
         %
       	%%% Prise en compte de la cl\'e Classes
       	%
         \ifboolKV[ClesTableaux]{Classes}{%
-        \hline
-        \ifboolKV[ClesTableaux]{Milliards}{%
-        \cline{1-12}\multicolumn{3}{|c|}{\cellcolor{\useKV[ClesTableaux]{CouleurG}}Classe des milliards}%
-        &\multicolumn{3}{c|}{\cellcolor{\useKV[ClesTableaux]{CouleurM}}Classe des millions}%
-          &}{%
-        \ifboolKV[ClesTableaux]{Millions}{%
-        \cline{1-9}\multicolumn{3}{|c|}{\cellcolor{\useKV[ClesTableaux]{CouleurM}}Classe
-          des millions}%
-          &}{%
-        \cline{1-6}}}%
-        \ifboolKV[ClesTableaux]{Milliards}{%
-        \multicolumn{3}{c|}}{%
-        \ifboolKV[ClesTableaux]{Millions}{%
-        \multicolumn{3}{c|}}{\multicolumn{3}{|c|}}}%
-        {\cellcolor{\useKV[ClesTableaux]{Couleurm}}Classe
-          des milliers}%
-        &\multicolumn{3}{c|}{\cellcolor{\useKV[ClesTableaux]{Couleuru}}Classe
-          des unit\'es}%
-        &\ifboolKV[ClesTableaux]{Virgule}{,}{}%
-        &\multicolumn{%	
-      \ifboolKV[ClesTableaux]{Micro}{6}{%
-      \ifboolKV[ClesTableaux]{Nano}{9}{3}%
-      }}%
-      {c|}{}\\}{}%
+          %\hline
+          \xdef\DecalageLigne{\fpeval{\DecalageLigne+1}}\ifboolKV[ClesTableaux]{Milliards}{\Block[draw,fill={\useKV[ClesTableaux]{CouleurG}}]{1-3}{Classe des milliards}&&&\Block[draw,fill={\useKV[ClesTableaux]{CouleurM}}]{1-3}{Classe des millions}&&&}{}
+          \ifboolKV[ClesTableaux]{Millions}{\Block[draw,fill={\useKV[ClesTableaux]{CouleurM}}]{1-3}{Classe des millions}&&&}{}
+          \Block[draw,fill={\useKV[ClesTableaux]{Couleurm}}]{1-3}{Classe des milliers}&&%
+          &\Block[draw,fill={\useKV[ClesTableaux]{Couleuru}}]{1-3}{Classe des unités}&&
+          &\Block[draw,fill=gray!15]{}{\ifboolKV[ClesTableaux]{Virgule}{,}{}}%
+          &\Block[draw]{1-%
+            \ifboolKV[ClesTableaux]{Micro}{6}{%
+              \ifboolKV[ClesTableaux]{Nano}{9}{3}%
+            }}{}
+          &&%
+          \ifboolKV[ClesTableaux]{Micro}{&&&}{%
+            \ifboolKV[ClesTableaux]{Nano}{&&&&&&}{}%
+          }%
+          \\
+        }{}%
       	%
       	%%% Valeurs par d\'efaut
       	%
         \hline%
         \ifboolKV[ClesTableaux]{Milliards}{%
-        &%
-        &\fontsize{8.5}{8.5}\selectfont giga%
-        &%
-        &%
-        &\fontsize{8.5}{8.5}\selectfont m\'ega%
-        &%
+        \Block[borders={left,right}]{}{}&\Block[borders={right}]{}{}%
+        &\Block[borders={right}]{}{\fontsize{8}{8}\selectfont giga}%
+        &\Block[borders={right}]{}{}%
+        &\Block[borders={right}]{}{}%
+        &\Block[borders={right}]{}{\fontsize{8}{8}\selectfont m\'ega}%
+        &\Block[borders={right}]{}{}%
         }{%
         \ifboolKV[ClesTableaux]{Millions}{%
+        \Block[borders={left,right}]{}{}&\Block[borders={right}]{}{}%
+        &\Block[]{}{\fontsize{8}{8}\selectfont m\'ega}%
         &%
-        &\fontsize{8.5}{8.5}\selectfont m\'ega%
-        &%
         }{%
         }}%
-        &%
-        &\fontsize{8.5}{8.5}\selectfont kilo%
-        &\fontsize{8.5}{8.5}\selectfont hecto%
-        &\fontsize{8.5}{8.5}\selectfont d\'eca%
-        &\fontsize{8.5}{8.5}\selectfont unit\'es%
-        &\ifboolKV[ClesTableaux]{Virgule}{,}{}%
-        &\fontsize{8.5}{8.5}\selectfont deci%
-        &\fontsize{8.5}{8.5}\selectfont centi%
-        &\fontsize{8.5}{8.5}\selectfont milli%	
-      	\ifboolKV[ClesTableaux]{Micro}{&%
-        &%
-        &\fontsize{8.5}{8.5}\selectfont micro\\}{%
-      	\ifboolKV[ClesTableaux]{Nano}{&%
-        &%
-        &\fontsize{8.5}{8.5}\selectfont micro%
-        &%
-        &%
-        &\fontsize{8.5}{8.5}\selectfont nano\\}{\\}%
+        \Block[borders={left,right}]{}{}&\Block[borders={right}]{}{}%
+        &\Block[borders={right}]{}{\fontsize{8}{8}\selectfont kilo}%
+        &\Block[borders={right}]{}{\fontsize{8}{8}\selectfont hecto}%
+        &\Block[borders={right}]{}{\fontsize{8}{8}\selectfont d\'eca}%
+        &\Block[borders={right}]{}{\fontsize{8}{8}\selectfont unit\'es}%
+        &\Block[borders={right}]{}{\ifboolKV[ClesTableaux]{Virgule}{,}{}}%
+        &\Block[borders={right}]{}{\fontsize{8}{8}\selectfont deci}%
+        &\Block[borders={right}]{}{\fontsize{8}{8}\selectfont centi}%
+        &\Block[borders={right}]{}{\fontsize{8}{8}\selectfont milli}%
+      	\ifboolKV[ClesTableaux]{Micro}{&\Block[borders={right}]{}{}%
+        &\Block[borders={right}]{}{}%
+        &\Block[borders={right}]{}{\fontsize{8}{8}\selectfont micro}\\}{%
+      	\ifboolKV[ClesTableaux]{Nano}{&\Block[borders={right}]{}{}%
+        &\Block[borders={right}]{}{}%
+        &\Block[borders={right}]{}{\fontsize{8}{8}\selectfont micro}%
+        &\Block[borders={right}]{}{}%
+        &\Block[borders={right}]{}{}%
+        &\Block[borders={right}]{}{\fontsize{8}{8}\selectfont nano}\\}{\\}%
       	}%     
         %
       	%%% Prise en compte de la cl\'e Nombres
       	%
         \ifboolKV[ClesTableaux]{Nombres}{%
-        \ifboolKV[ClesTableaux]{Milliards}{%
-        \fontsize{4.5}{4.5}\selectfont\num{100000000000}%
-        &\fontsize{4.5}{4.5}\selectfont\num{10000000000}%
-        &\fontsize{4.5}{4.5}\selectfont\num{1000000000}%
-        &\fontsize{4.5}{4.5}\selectfont \num{100000000}%
-        &\fontsize{4.5}{4.5}\selectfont \num{10000000}%
-        &\fontsize{4.5}{4.5}\selectfont \num{1000000}%
-        &%
-        }{}
-        \ifboolKV[ClesTableaux]{Millions}{%
-        \fontsize{4.5}{4.5}\selectfont \num{100000000}%
-        &\fontsize{4.5}{4.5}\selectfont \num{10000000}%
-        &\fontsize{4.5}{4.5}\selectfont \num{1000000}%
-        &%
-        }{}
-        \fontsize{4.5}{4.5}\selectfont \num{100000}%
-        &\fontsize{4.5}{4.5}\selectfont \num{10000}%
-        &\fontsize{4.5}{4.5}\selectfont \num{1000}%
-        &\fontsize{4.5}{4.5}\selectfont \num{100}%
-        &\fontsize{4.5}{4.5}\selectfont \num{10}%
-        &\fontsize{4.5}{4.5}\selectfont \num{1}%
-        &\ifboolKV[ClesTableaux]{Virgule}{,}{}%
-        &\fontsize{4.5}{4.5}\selectfont \num{0,1} ou $\dfrac{\strut1}{\strut10}$%
-        &\fontsize{4.5}{4.5}\selectfont \num{0,01} ou $\dfrac{\strut1}{\strut100}$%
-        &\fontsize{4.5}{4.5}\selectfont \num{0,001} ou $\dfrac{\strut1}{\strut\num{1000}}$%
-        \ifboolKV[ClesTableaux]{Micro}{%
-        &\fontsize{4.5}{4.5}\selectfont \num{0,0001} ou $\dfrac{\strut1}{\strut\num{10000}}$%
-        &\fontsize{4.5}{4.5}\selectfont \num{0,00001} ou $\dfrac{\strut1}{\strut\num{100000}}$%
-        &\fontsize{4.5}{4.5}\selectfont \num{0,000001} ou $\dfrac{\strut1}{\strut\num{1000000}}$%
-        }{%
-        \ifboolKV[ClesTableaux]{Nano}{%
-        &\fontsize{4.5}{4.5}\selectfont \num{0,0001} ou $\dfrac{\strut1}{\strut\num{10000}}$%
-        &\fontsize{4.5}{4.5}\selectfont \num{0,00001} ou $\dfrac{\strut1}{\strut\num{100000}}$%
-        &\fontsize{4.5}{4.5}\selectfont \num{0,000001} ou $\dfrac{\strut1}{\strut\num{1000000}}$%
-        &\fontsize{4.5}{4.5}\selectfont \num{0,0000001} ou $\dfrac{\strut1}{\strut\num{10000000}}$%
-        &\fontsize{4.5}{4.5}\selectfont \num{0,00000001} ou $\dfrac{\strut1}{\strut\num{100000000}}$%
-        &\fontsize{4.5}{4.5}\selectfont \num{0,000000001} ou $\dfrac{\strut1}{\strut\num{1000000000}}$%
+          \xdef\DecalageLigne{\fpeval{\DecalageLigne+1}}%
+          \ifboolKV[ClesTableaux]{Milliards}{%
+            \Block[borders={left,right}]{}{\fontsize{5}{5}\selectfont\num{100000000000}}%
+            &\Block[borders={right}]{}{\fontsize{5}{5}\selectfont\num{10000000000}}%
+            &\Block[borders={right}]{}{\fontsize{5}{5}\selectfont\num{1000000000}}%
+            &\Block[borders={right}]{}{\fontsize{5}{5}\selectfont \num{100000000}}%
+            &\Block[borders={right}]{}{\fontsize{5}{5}\selectfont \num{10000000}}%
+            &\Block[borders={}]{}{\fontsize{5}{5}\selectfont \num{1000000}}%
+            &%
+          }{}
+          \ifboolKV[ClesTableaux]{Millions}{%
+            \Block[borders={left,right}]{}{\fontsize{5}{5}\selectfont \num{100000000}}%
+            &\Block[borders={right}]{}{\fontsize{5}{5}\selectfont \num{10000000}}%
+            &\Block[borders={}]{}{\fontsize{5}{5}\selectfont \num{1000000}}%
+            &%
+          }{}
+          \Block[borders={left,right}]{}{\fontsize{5}{5}\selectfont \num{100000}}%
+          &\Block[borders={right}]{}{\fontsize{5}{5}\selectfont \num{10000}}%
+          &\Block[borders={right}]{}{\fontsize{5}{5}\selectfont \num{1000}}%
+          &\Block[borders={right}]{}{\fontsize{5}{5}\selectfont \num{100}}%
+          &\Block[borders={right}]{}{\fontsize{5}{5}\selectfont \num{10}}%
+          &\Block[borders={right}]{}{\fontsize{5}{5}\selectfont \num{1}}%
+          &\Block[borders={right}]{}{\ifboolKV[ClesTableaux]{Virgule}{,}{}}%
+          &\Block[borders={right}]{}{\fontsize{5}{5}\selectfont \num{0,1} ou $\dfrac{\strut1}{\strut10}$}%
+          &\Block[borders={right}]{}{\fontsize{5}{5}\selectfont \num{0,01} ou $\dfrac{\strut1}{\strut100}$}%
+          &\Block[borders={right}]{}{\fontsize{5}{5}\selectfont \num{0,001} ou $\dfrac{\strut1}{\strut\num{1000}}$}%
+          \ifboolKV[ClesTableaux]{Micro}{%
+            &\Block[borders={right}]{}{\fontsize{5}{5}\selectfont \num{0,0001} ou $\dfrac{\strut1}{\strut\num{10000}}$}%
+            &\Block[borders={right}]{}{\fontsize{5}{5}\selectfont \num{0,00001} ou $\dfrac{\strut1}{\strut\num{100000}}$}%
+            &\Block[borders={right}]{}{\fontsize{5}{5}\selectfont \num{0,000001} ou $\dfrac{\strut1}{\strut\num{1000000}}$}%
+          }{%
+            \ifboolKV[ClesTableaux]{Nano}{%
+              &\Block[borders={right}]{}{\fontsize{5}{5}\selectfont \num{0,0001} ou $\dfrac{\strut1}{\strut\num{10000}}$}%
+              &\Block[borders={right}]{}{\fontsize{5}{5}\selectfont \num{0,00001} ou $\dfrac{\strut1}{\strut\num{100000}}$}%
+              &\Block[borders={right}]{}{\fontsize{5}{5}\selectfont \num{0,000001} ou $\dfrac{\strut1}{\strut\num{1000000}}$}%
+              &\Block[borders={right}]{}{\fontsize{5}{5}\selectfont \num{0,0000001} ou $\dfrac{\strut1}{\strut\num{10000000}}$}%
+              &\Block[borders={right}]{}{\fontsize{5}{5}\selectfont \num{0,00000001} ou $\dfrac{\strut1}{\strut\num{100000000}}$}%
+              &\Block[borders={right}]{}{\fontsize{5}{5}\selectfont \num{0,000000001} ou $\dfrac{\strut1}{\strut\num{1000000000}}$}%
+            }{}%
+          }{}\\%
         }{}%
-        }{}\\}{}%
         %
       	%%% Prise en compte de la cl\'e Puissances
       	%
         \ifboolKV[ClesTableaux]{Puissances}{%
+          \xdef\DecalageLigne{\fpeval{\DecalageLigne+1}}%          
         \ifboolKV[ClesTableaux]{Milliards}{%
-        &%
-        &\fontsize{4.5}{4.5}\selectfont $\times10^{9}$%
-        &%
-        &%
-        &\fontsize{4.5}{4.5}\selectfont $\times10^{6}$%
-        &
+          \Block[borders={left,right}]{}{}&%
+          \Block[borders={right}]{}{}%
+          &\Block[borders={right}]{}{\fontsize{5}{5}\selectfont $\times10^{9}$}%
+          &\Block[borders={right}]{}{}%
+          &\Block[borders={right}]{}{}%
+          &\Block[borders={right}]{}{\fontsize{5}{5}\selectfont $\times10^{6}$}%
+          &\Block[borders={right}]{}{}%
         }{%
         \ifboolKV[ClesTableaux]{Millions}{%
+          \Block[borders={left,right}]{}{}&%
+          \Block[borders={right}]{}{}%
+        &\Block[borders={right}]{}{\fontsize{5}{5}\selectfont $\times10^{6}$}%
         &%
-        &\fontsize{4.5}{4.5}\selectfont $\times10^{6}$%
-        &
         }{%
         }}%
-        &%
-        &\fontsize{4.5}{4.5}\selectfont $\times10^3$%
-        &\fontsize{4.5}{4.5}\selectfont $\times\num{10}^2$%
-        &\fontsize{4.5}{4.5}\selectfont $\times\num{10}^1$%
-        &\fontsize{4.5}{4.5}\selectfont $\times\num{1}$%
-        &\ifboolKV[ClesTableaux]{Virgule}{,}{}%
-        &\fontsize{4.5}{4.5}\selectfont $\times\num{10}^{-1}$%
-        &\fontsize{4.5}{4.5}\selectfont $\times\num{10}^{-2}$%
-        &\fontsize{4.5}{4.5}\selectfont $\times\num{10}^{-3}$%
+        \Block[borders={left,right}]{}{}&\Block[borders={right}]{}{}%
+        &\Block[borders={right}]{}{\fontsize{5}{5}\selectfont $\times10^3$}%
+        &\Block[borders={right}]{}{\fontsize{5}{5}\selectfont $\times\num{10}^2$}%
+        &\Block[borders={right}]{}{\fontsize{5}{5}\selectfont $\times\num{10}^1$}%
+        &\Block[borders={right}]{}{\fontsize{5}{5}\selectfont $\times\num{1}$}%
+        &\Block[borders={right}]{}{\ifboolKV[ClesTableaux]{Virgule}{,}{}}%
+        &\Block[borders={right}]{}{\fontsize{5}{5}\selectfont $\times\num{10}^{-1}$}%
+        &\Block[borders={right}]{}{\fontsize{5}{5}\selectfont $\times\num{10}^{-2}$}%
+        &\Block[borders={right}]{}{\fontsize{5}{5}\selectfont $\times\num{10}^{-3}$}%
         \ifboolKV[ClesTableaux]{Micro}{&%
-        &%
-        &\fontsize{4.5}{4.5}\selectfont $\times\num{10}^{-6}$}{%
+        \Block[borders={right}]{}{}&%
+        &\Block[borders={right}]{}{\fontsize{5}{5}\selectfont $\times\num{10}^{-6}$}}{%
       	\ifboolKV[ClesTableaux]{Nano}{&%
-        &%
-        &\fontsize{4.5}{4.5}\selectfont $\times\num{10}^{-6}$%
-        &%
-        &%
-        &\fontsize{4.5}{4.5}\selectfont $\times\num{10}^{-9}$}{}%
+        \Block[borders={right}]{}{}&%
+        &\Block[borders={right}]{}{\fontsize{5}{5}\selectfont $\times\num{10}^{-6}$}%
+        &\Block[borders={right}]{}{}%
+        &\Block[borders={right}]{}{}%
+        &\Block[borders={right}]{}{\fontsize{5}{5}\selectfont $\times\num{10}^{-9}$}}{}%
       	}%
         \\%
         }{}%
@@ -16325,296 +16506,456 @@
       	%
         \hline%
         \xintFor* ##1 in {\xintSeq{1}{\useKV[ClesTableaux]{NbLignes}}}\do{%
-        \ifboolKV[ClesTableaux]{Milliards}{%
-        &&&&&&%
-        }{%
-        \ifboolKV[ClesTableaux]{Millions}{%
-        &&&%
-        }{%
-        }}%
-        &&&&&&,&&&%
-		\ifboolKV[ClesTableaux]{Micro}{&&&}{%
-      	\ifboolKV[ClesTableaux]{Nano}{&&&&&&}{}%
-      	}	        
-        \\}%
-      \end{tabular}%
+          \ifboolKV[ClesTableaux]{Milliards}{%
+            &&&&&&%
+          }{%
+            \ifboolKV[ClesTableaux]{Millions}{%
+              &&&%
+            }{%
+            }}%
+          &&&&&&,&&&%
+          \ifboolKV[ClesTableaux]{Micro}{&&&}{%
+            \ifboolKV[ClesTableaux]{Nano}{&&&&&&}{}%
+          }%
+          \\}%
+        \CodeAfter%
+        % on trace les lignes verticales
+        \xintFor* ##1 in {\xintSeq{1}{\fpeval{\PfCDerniereColonne+1}}}\do{%
+          \tikz\draw (\fpeval{\DecalageLigne+2}-|##1)--(\fpeval{\DecalageLigne+2+\useKV[ClesTableaux]{NbLignes}}-|##1);%
+        }%
+        %% On place le nombre éventuel
+        \ifx\bla#2\bla%
+        \else%
+        \ifboolKV[ClesTableaux]{Milliards}{\xdef\PfCDerniereColonneEntiere{13}}{\ifboolKV[ClesTableaux]{Millions}{\xdef\PfCDerniereColonneEntiere{10}}{\xdef\PfCDerniereColonneEntiere{7}}}%
+        \xdef\PfCPremiereColonneDecimale{\fpeval{\PfCDerniereColonneEntiere+2}}%
+        \setsepchar[*]{,*.}%
+        \readlist*\ListeNombreAPlacer{#2}%
+        \xintFor* ##2 in{\xintSeq {1}{\ListeNombreAPlacerlen}}\do{%
+          \StrLen{\ListeNombreAPlacer[##2,1]}[\TabLongueurNombre]%
+          \xintFor* ##1 in{\xintSeq {\TabLongueurNombre}{1}}\do{%
+            \tikz\node at (\fpeval{\DecalageLigne+##2+1.5}-|\fpeval{\PfCDerniereColonneEntiere-0.5-\TabLongueurNombre+##1}) {\PfCTBstrut\StrMid{\ListeNombreAPlacer[##2,1]}{##1}{##1}};%
+          }%
+          \StrLen{\ListeNombreAPlacer[##2,2]}[\TabLongueurNombre]%
+          \xintFor* ##1 in{\xintSeq {1}{\TabLongueurNombre}}\do{%
+            \tikz\node at (\fpeval{\DecalageLigne+##2+1.5}-|\fpeval{\PfCPremiereColonneDecimale-1.5+##1}) {\PfCTBstrut\StrMid{\ListeNombreAPlacer[##2,2]}{##1}{##1}};%
+          }%
+        }%
+        \fi%
+      \end{NiceTabular}%
     \end{center}%
     \setlength{\tabcolsep}{100\tabcolsep}%
   }{}%
-  % 
+  %
   %%% Cl\'e Entiers
-  % 
+  %
   \ifboolKV[ClesTableaux]{Entiers}{%
+    \xdef\DecalageLigne{0}%
     \setlength{\tabcolsep}{0.01\tabcolsep}%
     \begin{center}%
-      %  
+      %
       %%% Definition du tableau
       %
-    \begin{tabular}{|*{%
-			\ifboolKV[ClesTableaux]{Milliards}{12}{%
+      \ifboolKV[ClesTableaux]{Milliards}{\xdef\PfCDerniereColonne{13}}{\ifboolKV[ClesTableaux]{Millions}{\xdef\PfCDerniereColonne{10}}{\xdef\PfCDerniereColonne{7}}}%
+    \begin{NiceTabular}{*{%
+      \ifboolKV[ClesTableaux]{Milliards}{12}{%
       \ifboolKV[ClesTableaux]{Millions}{9}{6}%
       }%
-      }{>{\centering\arraybackslash}m{4.75em}|}}%
-        \ifboolKV[ClesTableaux]{Classes}{%
+      }{m{4.75em}}}%
+    \ifboolKV[ClesTableaux]{Classes}{%
         \hline
-        \ifboolKV[ClesTableaux]{Milliards}{\multicolumn{3}{|c}{\cellcolor{\useKV[ClesTableaux]{CouleurG}}Classe des milliards}&\multicolumn{3}{|c}{\cellcolor{\useKV[ClesTableaux]{CouleurM}}Classe des millions}&}{}
-        \ifboolKV[ClesTableaux]{Millions}{\multicolumn{3}{|c}{\cellcolor{\useKV[ClesTableaux]{CouleurM}}Classe des millions}&}{}
-        \multicolumn{3}{|c|}{\cellcolor{\useKV[ClesTableaux]{Couleurm}}Classe
-          des milliers}%
-        &\multicolumn{3}{c|}{\cellcolor{\useKV[ClesTableaux]{Couleuru}}Classe des unit\'es}\\}{}
+        \xdef\DecalageLigne{\fpeval{\DecalageLigne+1}}\ifboolKV[ClesTableaux]{Milliards}{\Block[draw,fill={\useKV[ClesTableaux]{CouleurG}}]{1-3}{Classe des milliards}&&&\Block[draw,fill={\useKV[ClesTableaux]{CouleurM}}]{1-3}{Classe des millions}&&&}{}
+        \ifboolKV[ClesTableaux]{Millions}{\Block[draw,fill={\useKV[ClesTableaux]{CouleurM}}]{1-3}{Classe des millions}&&&}{}
+        \Block[draw,fill={\useKV[ClesTableaux]{Couleurm}}]{1-3}{Classe des milliers}&&%
+        &\Block[draw,fill={\useKV[ClesTableaux]{Couleuru}}]{1-3}{Classe des unités}&&\\}{%
+        \xdef\DecalageLigne{\fpeval{\DecalageLigne+1}}%
+        \ifboolKV[ClesTableaux]{Milliards}{%
+          \Block[]{}{\tikz[remember picture,overlay]{\coordinate (L);}}&\Block[]{}{\tikz[remember picture,overlay]{\coordinate (K);}}&\Block[]{}{\tikz[remember picture,overlay]{\coordinate (J);}}&\Block[]{}{\tikz[remember picture,overlay]{\coordinate (I);}}&\Block[]{}{\tikz[remember picture,overlay]{\coordinate (H);}}&\Block[]{}{\tikz[remember picture,overlay]{\coordinate (G);}}&}{}%
+        \ifboolKV[ClesTableaux]{Millions}{%
+          \Block[]{}{\tikz[remember picture,overlay]{\coordinate (I);}}&\Block[]{}{\tikz[remember picture,overlay]{\coordinate (H);}}&\Block[]{}{\tikz[remember picture,overlay]{\coordinate (G);}}&}{}%
+        \Block[]{}{\tikz[remember picture,overlay]{\coordinate (F);}}
+        &\Block[]{}{\tikz[remember picture,overlay]{\coordinate (E);}}
+        &\Block[]{}{\tikz[remember picture,overlay]{\coordinate (D);}}
+        &\Block[]{}{\tikz[remember picture,overlay]{\coordinate (C);}}
+        &\Block[]{}{\tikz[remember picture,overlay]{\coordinate (B);}}
+        &\Block[]{}{\tikz[remember picture,overlay]{\coordinate (A);}}\\
+      }%
         \hline
         \ifboolKV[ClesTableaux]{Milliards}{%
-        \fontsize{4.5}{4.5}\selectfont centaines de milliards%
-        &\fontsize{4.5}{4.5}\selectfont dizaines de milliards%
-        &\fontsize{4.5}{4.5}\selectfont unit\'es de milliards%
-        &\fontsize{4.5}{4.5}\selectfont centaines de millions%
-        &\fontsize{4.5}{4.5}\selectfont dizaines de millions%
-        &\fontsize{4.5}{4.5}\selectfont unit\'es de millions%
+        \Block[draw]{}{\fontsize{5}{5}\selectfont centaines de milliards}%
+        &\Block[draw]{}{\fontsize{5}{5}\selectfont dizaines de milliards}%
+        &\Block[draw]{}{\fontsize{5}{5}\selectfont unit\'es de milliards}%
+        &\Block[draw]{}{\fontsize{5}{5}\selectfont centaines de millions}%
+        &\Block[draw]{}{\fontsize{5}{5}\selectfont dizaines de millions}%
+        &\Block[draw]{}{\fontsize{5}{5}\selectfont unit\'es de millions}%
         &
         }{}
         \ifboolKV[ClesTableaux]{Millions}{%
-        \fontsize{4.5}{4.5}\selectfont centaines de millions%
-        &\fontsize{4.5}{4.5}\selectfont dizaines de millions%
-        &\fontsize{4.5}{4.5}\selectfont unit\'es de millions%
+        \Block[draw]{}{\fontsize{5}{5}\selectfont centaines de millions}%
+        &\Block[draw]{}{\fontsize{5}{5}\selectfont dizaines de millions}%
+        &\Block[draw]{}{\fontsize{5}{5}\selectfont unit\'es de millions}%
         &
         }{}
-        \fontsize{4.5}{4.5}\selectfont centaines de milliers%
-        &\fontsize{4.5}{4.5}\selectfont dizaines de milliers%
-        &\fontsize{4.5}{4.5}\selectfont unit\'es de milliers%
-        &\fontsize{4.5}{4.5}\selectfont centaines%
-        &\fontsize{4.5}{4.5}\selectfont dizaines%
-        &\fontsize{4.5}{4.5}\selectfont unit\'es\\%
+         \Block[draw]{}{\fontsize{5}{5}\selectfont centaines de milliers}%
+        &\Block[draw]{}{\fontsize{5}{5}\selectfont dizaines de milliers}%
+        &\Block[draw]{}{\fontsize{5}{5}\selectfont unit\'es de milliers}%
+        &\Block[draw]{}{\fontsize{5}{5}\selectfont centaines}%
+        &\Block[draw]{}{\fontsize{5}{5}\selectfont dizaines}%
+        &\Block[draw]{}{\fontsize{5}{5}\selectfont unit\'es}\\%
         \ifboolKV[ClesTableaux]{Nombres}{%
+          \xdef\DecalageLigne{\fpeval{\DecalageLigne+1}}%
         \ifboolKV[ClesTableaux]{Milliards}{%
-        \fontsize{4.5}{4.5}\selectfont\num{100000000000}%
-        &\fontsize{4.5}{4.5}\selectfont\num{10000000000}%
-        &\fontsize{4.5}{4.5}\selectfont\num{1000000000}%
-        &\fontsize{4.5}{4.5}\selectfont \num{100000000}%
-        &\fontsize{4.5}{4.5}\selectfont \num{10000000}%
-        &\fontsize{4.5}{4.5}\selectfont \num{1000000}%
+        \Block[draw]{}{\fontsize{5}{5}\selectfont\num{100000000000}}%
+        &\Block[draw]{}{\fontsize{5}{5}\selectfont\num{10000000000}}%
+        &\Block[draw]{}{\fontsize{5}{5}\selectfont\num{1000000000}}%
+        &\Block[draw]{}{\fontsize{5}{5}\selectfont\num{100000000}}%
+        &\Block[draw]{}{\fontsize{5}{5}\selectfont\num{10000000}}%
+        &\Block[draw]{}{\fontsize{5}{5}\selectfont\num{1000000}}%
         &%
-        }{}
+        }{}%
         \ifboolKV[ClesTableaux]{Millions}{%
-        \fontsize{4.5}{4.5}\selectfont \num{100000000}%
-        &\fontsize{4.5}{4.5}\selectfont \num{10000000}%
-        &\fontsize{4.5}{4.5}\selectfont \num{1000000}%
+        \Block[draw]{}{\fontsize{5}{5}\selectfont\num{100000000}}%
+        &\Block[draw]{}{\fontsize{5}{5}\selectfont\num{10000000}}%
+        &\Block[draw]{}{\fontsize{5}{5}\selectfont\num{1000000}}%
         &%
-        }{}
-        \fontsize{4.5}{4.5}\selectfont \num{100000}%
-        &\fontsize{4.5}{4.5}\selectfont \num{10000}%
-        &\fontsize{4.5}{4.5}\selectfont \num{1000}%
-        &\fontsize{4.5}{4.5}\selectfont \num{100}%
-        &\fontsize{4.5}{4.5}\selectfont \num{10}%
-        &\fontsize{4.5}{4.5}\selectfont \num{1}%
+        }{}%
+        \Block[draw]{}{\fontsize{5}{5}\selectfont\num{100000}}%
+        &\Block[draw]{}{\fontsize{5}{5}\selectfont\num{10000}}%
+        &\Block[draw]{}{\fontsize{5}{5}\selectfont\num{1000}}%
+        &\Block[draw]{}{\fontsize{5}{5}\selectfont\num{100}}%
+        &\Block[draw]{}{\fontsize{5}{5}\selectfont\num{10}}%
+        &\Block[draw]{}{\fontsize{5}{5}\selectfont\num{1}}%
         \\
-        }{} 
+        }{}%
         %
       	%%% Prise en compte de la cl\'e Puissances
       	%
         \ifboolKV[ClesTableaux]{Puissances}{%
+          \xdef\DecalageLigne{\fpeval{\DecalageLigne+1}}%
         \ifboolKV[ClesTableaux]{Milliards}{%
         &%
-        &\fontsize{4.5}{4.5}\selectfont $\times10^{9}$%
+        &\Block[draw]{}{\fontsize{5}{5}\selectfont $\times10^{9}$}%
         &%
         &%
-        &\fontsize{4.5}{4.5}\selectfont $\times10^{6}$%
-        &
+        &\Block[draw]{}{\fontsize{5}{5}\selectfont $\times10^{6}$}%
+        &%
         }{%
         \ifboolKV[ClesTableaux]{Millions}{%
         &%
-        &\fontsize{4.5}{4.5}\selectfont $\times10^{6}$%
-        &
+        &\Block[draw]{}{\fontsize{5}{5}\selectfont $\times10^{6}$}%
+        &%
         }{%
         }}%
         &%
-        &\fontsize{4.5}{4.5}\selectfont $\times10^3$%
-        &\fontsize{4.5}{4.5}\selectfont $\times\num{10}^2$%
-        &\fontsize{4.5}{4.5}\selectfont $\times\num{10}^1$%
-        &\fontsize{4.5}{4.5}\selectfont $\times\num{1}$%
+        &\Block[draw]{}{\fontsize{5}{5}\selectfont $\times10^3$}%
+        &\Block[draw]{}{\fontsize{5}{5}\selectfont $\times\num{10}^2$}%
+        &\Block[draw]{}{\fontsize{5}{5}\selectfont $\times\num{10}^1$}%
+        &\Block[draw]{}{\fontsize{5}{5}\selectfont $\times\num{1}$}%
         \\%
         }{}%
         %
-      	%%% Lignes vierges
-      	%
+%      	%%% Lignes vierges
+%      	%
         \hline%        
         \xintFor* ##1 in {\xintSeq{1}{\useKV[ClesTableaux]{NbLignes}}}\do{%
         \ifboolKV[ClesTableaux]{Milliards}{%
-        &&&&&&}{}%                         
+        &&&&&&}{}%
         \ifboolKV[ClesTableaux]{Millions}{%
-        &&&}{}
-        &&&&&\\}%
-      \end{tabular}%
-    \end{center}%
+        &&&}{}%
+      &&&&&\\}%
+    \ifboolKV[ClesTableaux]{Milliards}{%
+      \Block[]{}{\tikz[remember picture,overlay]{\coordinate (L1);}}&\Block[]{}{\tikz[remember picture,overlay]{\coordinate (K1);}}&\Block[]{}{\tikz[remember picture,overlay]{\coordinate (J1);}}&\Block[]{}{\tikz[remember picture,overlay]{\coordinate (I1);}}&\Block[]{}{\tikz[remember picture,overlay]{\coordinate (H1);}}&\Block[]{}{\tikz[remember picture,overlay]{\coordinate (G1);}}&}{}%
+    \ifboolKV[ClesTableaux]{Millions}{%
+      \Block[]{}{\tikz[remember picture,overlay]{\coordinate (I1);}}&\Block[]{}{\tikz[remember picture,overlay]{\coordinate (H1);}}&\Block[]{}{\tikz[remember picture,overlay]{\coordinate (G1);}}&}{}%
+    \Block[]{}{\tikz[remember picture,overlay]{\coordinate (F1);}}
+    &\Block[]{}{\tikz[remember picture,overlay]{\coordinate (E1);}}
+    &\Block[]{}{\tikz[remember picture,overlay]{\coordinate (D1);}}
+    &\Block[]{}{\tikz[remember picture,overlay]{\coordinate (C1);}}
+    &\Block[]{}{\tikz[remember picture,overlay]{\coordinate (B1);}}
+    &\Block[]{}{\tikz[remember picture,overlay]{\coordinate (A1);}}\\
+    \CodeAfter%
+    % on trace les lignes verticales
+    \xintFor* ##1 in {\xintSeq{1}{\PfCDerniereColonne}}\do{%
+      \tikz\draw (2-|##1)--(\fpeval{2+\useKV[ClesTableaux]{NbLignes}+1}-|##1);%
+    }%
+    %% On place le nombre éventuel
+    \ifx\bla#2\bla%
+    \else%\xdef\DecalageLigne{\fpeval{\DecalageLigne+1}}
+    \setsepchar{,}%
+    \readlist*\ListeNombreAPlacer{#2}%
+    \xintFor* ##2 in{\xintSeq {1}{\ListeNombreAPlacerlen}}\do{%
+      \StrLen{\ListeNombreAPlacer[##2]}[\TabLongueurNombre]%
+      \xintFor* ##1 in{\xintSeq {\TabLongueurNombre}{1}}\do{%
+        \tikz\node at (\fpeval{\DecalageLigne+##2+1.5}-|\fpeval{\PfCDerniereColonne-0.5-\TabLongueurNombre+##1}) {\PfCTBstrut\StrMid{\ListeNombreAPlacer[##2]}{##1}{##1}};%
+      }%
+    }%
+    \fi%
+    \end{NiceTabular}%
+  \end{center}%
+  % On trace les éventuelles fleches
+  \ifboolKV[ClesTableaux]{Classes}{}{%
+  \ifboolKV[ClesTableaux]{FlechesB}{%
+    \ifboolKV[ClesTableaux]{Milliards}{%
+      \tikz[remember picture, overlay]{\draw[gray,->,>=latex,out=-150,in=-30] (K1) to node[below, midway]{\small$\div\num{10}$}(L1);}%
+      \tikz[remember picture, overlay]{\draw[gray,->,>=latex,out=-150,in=-30] (J1) to node[below, midway]{\small$\div\num{10}$}(K1);}%
+      \tikz[remember picture, overlay]{\draw[gray,->,>=latex,out=-150,in=-30] (I1) to node[below, midway]{\small$\div\num{10}$}(J1);}%
+      \tikz[remember picture, overlay]{\draw[gray,->,>=latex,out=-150,in=-30] (H1) to node[below, midway]{\small$\div\num{10}$}(I1);}%
+      \tikz[remember picture, overlay]{\draw[gray,->,>=latex,out=-150,in=-30] (G1) to node[below, midway]{\small$\div\num{10}$}(H1);}%
+      \tikz[remember picture, overlay]{\draw[gray,->,>=latex,out=-150,in=-30] (F1) to node[below, midway]{\small$\div\num{10}$}(G1);}%
+    }{}%
+    \ifboolKV[ClesTableaux]{Millions}{%
+      \tikz[remember picture, overlay]{\draw[gray,->,>=latex,out=-150,in=-30] (H1) to node[below, midway]{\small$\div\num{10}$}(I1);}%
+      \tikz[remember picture, overlay]{\draw[gray,->,>=latex,out=-150,in=-30] (G1) to node[below, midway]{\small$\div\num{10}$}(H1);}%
+      \tikz[remember picture, overlay]{\draw[gray,->,>=latex,out=-150,in=-30] (F1) to node[below, midway]{\small$\div\num{10}$}(G1);}%
+    }{}%
+    \tikz[remember picture, overlay]{\draw[gray,->,>=latex,out=-150,in=-30] (E1) to node[below, midway]{\small$\div\num{10}$}(F1);}%
+    \tikz[remember picture, overlay]{\draw[gray,->,>=latex,out=-150,in=-30] (D1) to node[below, midway]{\small$\div\num{10}$}(E1);}%
+    \tikz[remember picture, overlay]{\draw[gray,->,>=latex,out=-150,in=-30] (C1) to node[below, midway]{\small$\div\num{10}$}(D1);}%
+    \tikz[remember picture, overlay]{\draw[gray,->,>=latex,out=-150,in=-30] (B1) to node[below, midway]{\small$\div\num{10}$}(C1);}%
+    \tikz[remember picture, overlay]{\draw[gray,->,>=latex,out=-150,in=-30] (A1) to node[below, midway]{\small$\div\num{10}$}(B1);}%
+  }{}%
+    \ifboolKV[ClesTableaux]{FlechesH}{%
+    \ifboolKV[ClesTableaux]{Milliards}{%
+      \tikz[remember picture, overlay]{\draw[gray,->,>=latex,out=30,in=150] (L) to node[above, midway]{\small$\times\num{10}$}(K);}%
+      \tikz[remember picture, overlay]{\draw[gray,->,>=latex,out=30,in=150] (K) to node[above, midway]{\small$\times\num{10}$}(J);}%
+      \tikz[remember picture, overlay]{\draw[gray,->,>=latex,out=30,in=150] (J) to node[above, midway]{\small$\times\num{10}$}(I);}%
+      \tikz[remember picture, overlay]{\draw[gray,->,>=latex,out=30,in=150] (I) to node[above, midway]{\small$\times\num{10}$}(H);}%
+      \tikz[remember picture, overlay]{\draw[gray,->,>=latex,out=30,in=150] (H) to node[above, midway]{\small$\times\num{10}$}(G);}%
+      \tikz[remember picture, overlay]{\draw[gray,->,>=latex,out=30,in=150] (G) to node[above, midway]{\small$\times\num{10}$}(F);}%
+    }{}%
+    \ifboolKV[ClesTableaux]{Millions}{%
+      \tikz[remember picture, overlay]{\draw[gray,->,>=latex,out=30,in=150] (I) to node[above, midway]{\small$\times\num{10}$}(H);}%
+      \tikz[remember picture, overlay]{\draw[gray,->,>=latex,out=30,in=150] (H) to node[above, midway]{\small$\times\num{10}$}(G);}%
+      \tikz[remember picture, overlay]{\draw[gray,->,>=latex,out=30,in=150] (G) to node[above, midway]{\small$\times\num{10}$}(F);}%
+    }{}%
+    \tikz[remember picture, overlay]{\draw[gray,->,>=latex,out=30,in=150] (B) to node[above, midway]{\small$\times\num{10}$}(A);}%
+    \tikz[remember picture, overlay]{\draw[gray,->,>=latex,out=30,in=150] (C) to node[above, midway]{\small$\times\num{10}$}(B);}%
+    \tikz[remember picture, overlay]{\draw[gray,->,>=latex,out=30,in=150] (D) to node[above, midway]{\small$\times\num{10}$}(C);}%
+    \tikz[remember picture, overlay]{\draw[gray,->,>=latex,out=30,in=150] (E) to node[above, midway]{\small$\times\num{10}$}(D);}%
+    \tikz[remember picture, overlay]{\draw[gray,->,>=latex,out=30,in=150] (F) to node[above, midway]{\small$\times\num{10}$}(E);}%
+  }{}%
+  }
     \setlength{\tabcolsep}{100\tabcolsep}%
   }{}%
-  %
+  % 
   %%% Cl\'e Decimaux
-  %
+  % 
   \ifboolKV[ClesTableaux]{Decimaux}{%
+    \xdef\DecalageLigne{0}%
     \setlength{\tabcolsep}{0.01\tabcolsep}%
     \begin{center}%
       % 
       %%% Definition du tableau
       % 
-      \begin{tabular}{|*{\ifboolKV[ClesTableaux]{Milliards}{12}{%
-      \ifboolKV[ClesTableaux]{Millions}{9}{6}%
-      }}{>{\centering\arraybackslash}m{4.75em}|}>{\columncolor{gray!15}}{c}|*{3}%
-      {>{\centering\arraybackslash}m{4.75em}|}}%
-      	%
+      \ifboolKV[ClesTableaux]{Milliards}{\xdef\PfCDerniereColonne{16}}{\ifboolKV[ClesTableaux]{Millions}{\xdef\PfCDerniereColonne{13}}{\xdef\PfCDerniereColonne{10}}}%
+      \begin{NiceTabular}{*{\ifboolKV[ClesTableaux]{Milliards}{12}{%
+              \ifboolKV[ClesTableaux]{Millions}{9}{6}%
+            }}{m{4.75em}}>{\columncolor{gray!15}}{c}*{3}{m{4.75em}}}%
+      	% 
       	%%% Prise en compte de la cl\'e Partie
-      	%
+      	% 
         \ifboolKV[ClesTableaux]{Partie}{%
-        \ifboolKV[ClesTableaux]{Milliards}{%
-        \multicolumn{12}{c}{\bfseries Partie enti\`ere}}{%
-        \ifboolKV[ClesTableaux]{Millions}{%
-        \multicolumn{9}{c}{\bfseries Partie enti\`ere}}{%
-        \multicolumn{6}{c}{\bfseries Partie enti\`ere}}}%
-        &\multicolumn{1}{c}{\cellcolor{gray!15}\ifboolKV[ClesTableaux]{Virgule}{,}{}}%
-        &\multicolumn{3}{c}{\bfseries Partie d\'ecimale}\\}{}
-        %
+          \Block[]{1-%
+            \ifboolKV[ClesTableaux]{Milliards}{12}{%
+              \ifboolKV[ClesTableaux]{Millions}{9}{6}%
+            }}{\bfseries Partie enti\`ere}\ifboolKV[ClesTableaux]{Milliards}{%
+            &&&&&&%
+          }{%
+            \ifboolKV[ClesTableaux]{Millions}{%
+              &&&%
+            }{%
+            }}%
+          &&&&&%
+          &\Block[fill=gray!15]{}{\ifboolKV[ClesTableaux]{Virgule}{,}{}}\xdef\DecalageLigne{\fpeval{\DecalageLigne+1}}%%
+          &\Block[]{1-3}{\bfseries Partie d\'ecimale}%
+          &&\\
+        }{}%
+        % 
       	%%% Prise en compte de la cl\'e Classes
-      	%
+      	% 
         \ifboolKV[ClesTableaux]{Classes}{%
-        \hline%
-        \ifboolKV[ClesTableaux]{Milliards}{%
-        \multicolumn{3}{|c|}{\cellcolor{\useKV[ClesTableaux]{CouleurG}}Classe des milliards}&\multicolumn{3}{c|}{\cellcolor{\useKV[ClesTableaux]{CouleurM}}Classe des millions}&}{}%
-        \ifboolKV[ClesTableaux]{Millions}{%
-        \multicolumn{3}{|c|}{\cellcolor{\useKV[ClesTableaux]{CouleurM}}Classe des millions}&}{}%
-        \ifboolKV[ClesTableaux]{Milliards}{%
-        \multicolumn{3}{c|}}{%
-        \ifboolKV[ClesTableaux]{Millions}{%
-        \multicolumn{3}{c|}}{\multicolumn{3}{|c|}}}%
-        {\cellcolor{\useKV[ClesTableaux]{Couleurm}}Classe
-          des milliers}%
-        &\multicolumn{3}{c|}{\cellcolor{\useKV[ClesTableaux]{Couleuru}}Classe
-          des unit\'es}%
-        &\ifboolKV[ClesTableaux]{Virgule}{,}{}&\multicolumn{3}{c|}{}\\}{}
-        %
+          \xdef\DecalageLigne{\fpeval{\DecalageLigne+1}}\ifboolKV[ClesTableaux]{Milliards}{\Block[draw,fill={\useKV[ClesTableaux]{CouleurG}}]{1-3}{Classe des milliards}&&&\Block[draw,fill={\useKV[ClesTableaux]{CouleurM}}]{1-3}{Classe des millions}&&&}{}%
+          \ifboolKV[ClesTableaux]{Millions}{\Block[draw,fill={\useKV[ClesTableaux]{CouleurM}}]{1-3}{Classe des millions}&&&}{}%
+          \Block[draw,fill={\useKV[ClesTableaux]{Couleurm}}]{1-3}{Classe des milliers}&&%
+          &\Block[draw,fill={\useKV[ClesTableaux]{Couleuru}}]{1-3}{Classe des unités}&&
+          &\Block[draw,fill=gray!15]{}{\ifboolKV[ClesTableaux]{Virgule}{,}{}}%
+          &\Block[draw]{1-3}{}&&%
+          \\
+        }{}%
+        % 
         %%% Valeurs ci-dessous par d\'efaut
-        %
+        % 
         \hline
         \ifboolKV[ClesTableaux]{Milliards}{%
-        \fontsize{4.5}{4.5}\selectfont centaines de milliards%
-        &\fontsize{4.5}{4.5}\selectfont dizaines de milliards%
-        &\fontsize{4.5}{4.5}\selectfont unit\'es de milliards%
-        &\fontsize{4.5}{4.5}\selectfont centaines de millions%
-        &\fontsize{4.5}{4.5}\selectfont dizaines de millions%
-        &\fontsize{4.5}{4.5}\selectfont unit\'es de millions%
-        &
-        }{}
+          \Block[borders={left,right}]{}{\fontsize{5}{5}\selectfont centaines de milliards}%
+          &\Block[borders={right}]{}{\fontsize{5}{5}\selectfont dizaines de milliards}%
+          &\Block[borders={right}]{}{\fontsize{5}{5}\selectfont unit\'es de milliards}%
+          &\Block[borders={right}]{}{\fontsize{5}{5}\selectfont centaines de millions}%
+          &\Block[borders={right}]{}{\fontsize{5}{5}\selectfont dizaines de millions}%
+          &\Block[]{}{\fontsize{5}{5}\selectfont unit\'es de millions}%
+          &
+        }{}%
         \ifboolKV[ClesTableaux]{Millions}{%
-        \fontsize{4.5}{4.5}\selectfont centaines de millions%
-        &\fontsize{4.5}{4.5}\selectfont dizaines de millions%
-        &\fontsize{4.5}{4.5}\selectfont unit\'es de millions%
-        &
-        }{}
-        \fontsize{4.5}{4.5}\selectfont centaines de milliers%
-        &\fontsize{4.5}{4.5}\selectfont dizaines de milliers%
-        &\fontsize{4.5}{4.5}\selectfont unit\'es de milliers%
-        &\fontsize{4.5}{4.5}\selectfont centaines%
-        &\fontsize{4.5}{4.5}\selectfont dizaines%
-        &\fontsize{4.5}{4.5}\selectfont unit\'es%
-        &\ifboolKV[ClesTableaux]{Virgule}{,}{}%
-        &\fontsize{4.5}{4.5}\selectfont dixi\`emes%
-          &\fontsize{4.5}{4.5}\selectfont centi\`emes%
-        &\fontsize{4.5}{4.5}\selectfont milli\`emes\\
+          \Block[borders={left,right}]{}{\fontsize{5}{5}\selectfont centaines de millions}%
+          &\Block[borders={right}]{}{\fontsize{5}{5}\selectfont dizaines de millions}%
+          &\Block[]{}{\fontsize{5}{5}\selectfont unit\'es de millions}%
+          &
+        }{}%
+        \Block[borders={left,right}]{}{\fontsize{5}{5}\selectfont centaines de milliers}%
+        &\Block[borders={right}]{}{\fontsize{5}{5}\selectfont dizaines de milliers}%
+        &\Block[borders={right}]{}{\fontsize{5}{5}\selectfont unit\'es de milliers}%
+        &\Block[borders={right}]{}{\fontsize{5}{5}\selectfont centaines}%
+        &\Block[borders={right}]{}{\fontsize{5}{5}\selectfont dizaines}%
+        &\Block[borders={right}]{}{\fontsize{5}{5}\selectfont unit\'es}%
+        &\Block[borders={right}]{}{\ifboolKV[ClesTableaux]{Virgule}{,}{}}%
+        &\Block[borders={right}]{}{\fontsize{5}{5}\selectfont dixi\`emes}%
+        &\Block[borders={right}]{}{\fontsize{5}{5}\selectfont centi\`emes}%
+        &\Block[borders={right}]{}{\fontsize{5}{5}\selectfont milli\`emes}\\
+        % 
+      	%%% Prise en compte de la cl\'e Nombres
+      	% 
         \ifboolKV[ClesTableaux]{Nombres}{%
-        \ifboolKV[ClesTableaux]{Milliards}{%
-        \fontsize{4.5}{4.5}\selectfont\num{100000000000}%
-        &\fontsize{4.5}{4.5}\selectfont\num{10000000000}%
-        &\fontsize{4.5}{4.5}\selectfont\num{1000000000}%
-        &\fontsize{4.5}{4.5}\selectfont \num{100000000}%
-        &\fontsize{4.5}{4.5}\selectfont \num{10000000}%
-        &\fontsize{4.5}{4.5}\selectfont \num{1000000}%
-        &%
-        }{}
-        \ifboolKV[ClesTableaux]{Millions}{%
-        \fontsize{4.5}{4.5}\selectfont \num{100000000}%
-        &\fontsize{4.5}{4.5}\selectfont \num{10000000}%
-        &\fontsize{4.5}{4.5}\selectfont \num{1000000}%
-        &%
-        }{}
-        \fontsize{4.5}{4.5}\selectfont \num{100000}%
-        &\fontsize{4.5}{4.5}\selectfont \num{10000}%
-        &\fontsize{4.5}{4.5}\selectfont \num{1000}%
-        &\fontsize{4.5}{4.5}\selectfont \num{100}%
-        &\fontsize{4.5}{4.5}\selectfont \num{10}%
-        &\fontsize{4.5}{4.5}\selectfont \num{1}%
-        &\ifboolKV[ClesTableaux]{Virgule}{,}{}%
-        &\fontsize{4.5}{4.5}\selectfont \num{0,1} ou $\dfrac{\strut1}{\strut10}$%
-        &\fontsize{4.5}{4.5}\selectfont \num{0,01} ou $\dfrac{\strut1}{\strut100}$%
-        &\fontsize{4.5}{4.5}\selectfont \num{0,001} ou $\dfrac{\strut1}{\strut\num{1000}}$%
-        \\
+          \xdef\DecalageLigne{\fpeval{\DecalageLigne+1}}%
+          \ifboolKV[ClesTableaux]{Milliards}{%
+            \Block[borders={left,right}]{}{\fontsize{5}{5}\selectfont\num{100000000000}}%
+            &\Block[borders={right}]{}{\fontsize{5}{5}\selectfont\num{10000000000}}%
+            &\Block[borders={right}]{}{\fontsize{5}{5}\selectfont\num{1000000000}}%
+            &\Block[borders={right}]{}{\fontsize{5}{5}\selectfont \num{100000000}}%
+            &\Block[borders={right}]{}{\fontsize{5}{5}\selectfont \num{10000000}}%
+            &\Block[borders={}]{}{\fontsize{5}{5}\selectfont \num{1000000}}%
+            &%
+          }{}%
+          \ifboolKV[ClesTableaux]{Millions}{%
+            \Block[borders={left,right}]{}{\fontsize{5}{5}\selectfont \num{100000000}}%
+            &\Block[borders={right}]{}{\fontsize{5}{5}\selectfont \num{10000000}}%
+            &\Block[borders={}]{}{\fontsize{5}{5}\selectfont \num{1000000}}%
+            &%
+          }{}%
+          \Block[borders={left,right}]{}{\fontsize{5}{5}\selectfont \num{100000}}%
+          &\Block[borders={right}]{}{\fontsize{5}{5}\selectfont \num{10000}}%
+          &\Block[borders={right}]{}{\fontsize{5}{5}\selectfont \num{1000}}%
+          &\Block[borders={right}]{}{\fontsize{5}{5}\selectfont \num{100}}%
+          &\Block[borders={right}]{}{\fontsize{5}{5}\selectfont \num{10}}%
+          &\Block[borders={right}]{}{\fontsize{5}{5}\selectfont \num{1}}%
+          &\Block[borders={right}]{}{\ifboolKV[ClesTableaux]{Virgule}{,}{}}%
+          &\Block[borders={right}]{}{\fontsize{5}{5}\selectfont \num{0,1} ou $\dfrac{\strut1}{\strut10}$}%
+          &\Block[borders={right}]{}{\fontsize{5}{5}\selectfont \num{0,01} ou $\dfrac{\strut1}{\strut100}$}%
+          &\Block[borders={right}]{}{\fontsize{5}{5}\selectfont \num{0,001} ou $\dfrac{\strut1}{\strut\num{1000}}$}%
+          \\
         }{}%
-        % 
+        %
         %%% Prise en compte de la cl\'e Puissances
-        % 
+        %
         \ifboolKV[ClesTableaux]{Puissances}{%
-        \ifboolKV[ClesTableaux]{Milliards}{%
-        &%
-        &\fontsize{4.5}{4.5}\selectfont $\times10^{9}$%
-        &%
-        &%
-        &\fontsize{4.5}{4.5}\selectfont $\times10^{6}$%
-        &
-        }{%
-        \ifboolKV[ClesTableaux]{Millions}{%
-        &%
-        &\fontsize{4.5}{4.5}\selectfont $\times10^{6}$%
-        &
-        }{%
-        }}%
-        &%
-        &\fontsize{4.5}{4.5}\selectfont $\times10^3$%
-        &\fontsize{4.5}{4.5}\selectfont $\times\num{10}^2$%
-        &\fontsize{4.5}{4.5}\selectfont $\times\num{10}^1$%
-        &\fontsize{4.5}{4.5}\selectfont $\times\num{1}$%
-        &\ifboolKV[ClesTableaux]{Virgule}{,}{}%
-        &\fontsize{4.5}{4.5}\selectfont $\times\num{10}^{-1}$%
-        &\fontsize{4.5}{4.5}\selectfont $\times\num{10}^{-2}$%
-        &\fontsize{4.5}{4.5}\selectfont $\times\num{10}^{-3}$%
-        \\%
-        }{}
-        \hline%
+          \xdef\DecalageLigne{\fpeval{\DecalageLigne+1}}%          
+          \ifboolKV[ClesTableaux]{Milliards}{%
+            \Block[borders={left,right}]{}{}&%
+            \Block[borders={right}]{}{}%
+            &\Block[borders={right}]{}{\fontsize{5}{5}\selectfont $\times10^{9}$}%
+            &\Block[borders={right}]{}{}%
+            &\Block[borders={right}]{}{}%
+            &\Block[borders={right}]{}{\fontsize{5}{5}\selectfont $\times10^{6}$}%
+            &\Block[borders={right}]{}{}%
+          }{%
+            \ifboolKV[ClesTableaux]{Millions}{%
+              \Block[borders={left,right}]{}{}&%
+              \Block[borders={right}]{}{}%
+              &\Block[borders={right}]{}{\fontsize{5}{5}\selectfont $\times10^{6}$}%
+              &%
+            }{%
+            }}%
+          \Block[borders={left,right}]{}{}&\Block[borders={right}]{}{}%
+          &\Block[borders={right}]{}{\fontsize{5}{5}\selectfont $\times10^3$}%
+          &\Block[borders={right}]{}{\fontsize{5}{5}\selectfont $\times\num{10}^2$}%
+          &\Block[borders={right}]{}{\fontsize{5}{5}\selectfont $\times\num{10}^1$}%
+          &\Block[borders={right}]{}{\fontsize{5}{5}\selectfont $\times\num{1}$}%
+          &\Block[borders={right}]{}{\ifboolKV[ClesTableaux]{Virgule}{,}{}}%
+          &\Block[borders={right}]{}{\fontsize{5}{5}\selectfont $\times\num{10}^{-1}$}%
+          &\Block[borders={right}]{}{\fontsize{5}{5}\selectfont $\times\num{10}^{-2}$}%
+          &\Block[borders={right}]{}{\fontsize{5}{5}\selectfont $\times\num{10}^{-3}$}%
+          \\%
+        }{}%
         %
         %%% Lignes vierges       
-        % 
+        %
+        \hline%
         \xintFor* ##1 in {\xintSeq{1}{\useKV[ClesTableaux]{NbLignes}}}\do{%
-        \ifboolKV[ClesTableaux]{Milliards}{%
-        &&&&&&}{}%                         
-       \ifboolKV[ClesTableaux]{Millions}{%
-       &&&}{}
-       &&&&&&,&&&\\}
-      \end{tabular}
+          \ifboolKV[ClesTableaux]{Milliards}{%
+            &&&&&&}{}%                         
+          \ifboolKV[ClesTableaux]{Millions}{%
+            &&&}{}%
+          &&&&&&,&&&\\}%
+        \CodeAfter%%
+        % on trace les lignes verticales
+        \xintFor* ##1 in {\xintSeq{1}{\fpeval{\PfCDerniereColonne+1}}}\do{%
+          \tikz\draw (\fpeval{\DecalageLigne+2}-|##1)--(\fpeval{\DecalageLigne+2+\useKV[ClesTableaux]{NbLignes}}-|##1);%
+        }%
+        %% On place le nombre éventuel
+        \ifx\bla#2\bla%
+        \else%
+        \ifboolKV[ClesTableaux]{Milliards}{\xdef\PfCDerniereColonneEntiere{13}}{\ifboolKV[ClesTableaux]{Millions}{\xdef\PfCDerniereColonneEntiere{10}}{\xdef\PfCDerniereColonneEntiere{7}}}%
+        \xdef\PfCPremiereColonneDecimale{\fpeval{\PfCDerniereColonneEntiere+2}}%
+        \setsepchar[*]{,*.}%
+        \ignoreemptyitems%
+        \readlist*\ListeNombreAPlacer{#2}%
+        \xintFor* ##2 in{\xintSeq {1}{\ListeNombreAPlacerlen}}\do{%
+          \StrLen{\ListeNombreAPlacer[##2,1]}[\TabLongueurNombre]%
+          \xintFor* ##1 in{\xintSeq {\TabLongueurNombre}{1}}\do{%
+            \tikz\node at (\fpeval{\DecalageLigne+##2+1.5}-|\fpeval{\PfCDerniereColonneEntiere-0.5-\TabLongueurNombre+##1}) {\PfCTBstrut\StrMid{\ListeNombreAPlacer[##2,1]}{##1}{##1}};%
+          }%
+          \StrLen{\ListeNombreAPlacer[##2,2]}[\TabLongueurNombre]%
+          \xintifboolexpr{\ListeNombreAPlacer[##2,2]==0}{}{%
+            \xintFor* ##1 in{\xintSeq {1}{\TabLongueurNombre}}\do{%
+              \tikz\node at (\fpeval{\DecalageLigne+##2+1.5}-|\fpeval{\PfCPremiereColonneDecimale-1.5+##1}) {\PfCTBstrut\StrMid{\ListeNombreAPlacer[##2,2]}{##1}{##1}};%
+            }%
+          }%
+        }%
+        \fi%
+      \end{NiceTabular}%
     \end{center}%
     \setlength{\tabcolsep}{100\tabcolsep}%
   }{}%
-  % 
+  %
   %%% Prise en compte de la cl\'e Metre
-  % 
+  %
   \ifboolKV[ClesTableaux]{Metre}{%
     \[\renewcommand{\arraystretch}{1.15}%
-      \begin{tabular}{|*{7}{p{7.5mm}|}}%
-        \multicolumn{1}{c}{\tikz[remember picture,overlay]{\coordinate (A);}}%
-        &\multicolumn{1}{c}{\tikz[remember picture,overlay]{\coordinate (B);}}%
-        &\multicolumn{1}{c}{\tikz[remember picture,overlay]{\coordinate (C);}}%
-        &\multicolumn{1}{c}{\tikz[remember picture,overlay]{\coordinate (D);}}%
-        &\multicolumn{1}{c}{\tikz[remember picture,overlay]{\coordinate (E);}}%
-        &\multicolumn{1}{c}{\tikz[remember picture,overlay]{\coordinate (F);}}%
-        &\multicolumn{1}{c}{\tikz[remember picture,overlay]{\coordinate (G);}}\\%
-        \hline
-        \multicolumn{1}{|c|}{km}&\multicolumn{1}{c|}{hm}&\multicolumn{1}{c|}{dam}&\multicolumn{1}{c|}{m}&\multicolumn{1}{c|}{dm}&\multicolumn{1}{c|}{cm}&\multicolumn{1}{c|}{mm}\\
-        \hline
-        \xintFor* ##1 in {\xintSeq{1}{\useKV[ClesTableaux]{NbLignes}}}\do{%
-        &&&&&&\\}
-        \multicolumn{1}{c}{\tikz[remember picture,overlay]{\coordinate[yshift=1em] (G1);}}%
-        &\multicolumn{1}{c}{\tikz[remember picture,overlay]{\coordinate[yshift=1em] (F1);}}%
-        &\multicolumn{1}{c}{\tikz[remember picture,overlay]{\coordinate[yshift=1em] (E1);}}%
-        &\multicolumn{1}{c}{\tikz[remember picture,overlay]{\coordinate[yshift=1em] (D1);}}%
-        &\multicolumn{1}{c}{\tikz[remember picture,overlay]{\coordinate[yshift=1em] (C1);}}%
-        &\multicolumn{1}{c}{\tikz[remember picture,overlay]{\coordinate[yshift=1em] (B1);}}%
-        &\multicolumn{1}{c}{\tikz[remember picture,overlay]{\coordinate[yshift=1em] (A1);}}\\%
-      \end{tabular}%
+      \begin{NiceTabular}{*{7}{p{7.5mm}}}%
+        \Block[]{}{\tikz[remember picture,overlay]{\coordinate (A);}}
+        &\Block[]{}{\tikz[remember picture,overlay]{\coordinate (B);}}
+        &\Block[]{}{\tikz[remember picture,overlay]{\coordinate (C);}}
+        &\Block[]{}{\tikz[remember picture,overlay]{\coordinate (D);}}
+        &\Block[]{}{\tikz[remember picture,overlay]{\coordinate (E);}}
+        &\Block[]{}{\tikz[remember picture,overlay]{\coordinate (F);}}
+        &\Block[]{}{\tikz[remember picture,overlay]{\coordinate (G);}}\\
+        \Block[draw]{}{km\PfCTBstrut}&\Block[draw]{1-1}{hm\PfCTBstrut}&\Block[draw]{1-1}{dam\PfCTBstrut}&\Block[draw]{1-1}{m\PfCTBstrut}&\Block[draw]{1-1}{dm\PfCTBstrut}&\Block[draw]{1-1}{cm\PfCTBstrut}&\Block[draw]{1-1}{mm\PfCTBstrut}\\
+        \xintFor* ##1 in {\xintSeq {1}{\useKV[ClesTableaux]{NbLignes}}}\do{%
+          &&&&&&\\
+        }
+        \Block[]{}{\tikz[remember picture,overlay]{\coordinate (G1);}}
+        &\Block[]{}{\tikz[remember picture,overlay]{\coordinate (F1);}}
+        &\Block[]{}{\tikz[remember picture,overlay]{\coordinate (E1);}}
+        &\Block[]{}{\tikz[remember picture,overlay]{\coordinate (D1);}}
+        &\Block[]{}{\tikz[remember picture,overlay]{\coordinate (C1);}}
+        &\Block[]{}{\tikz[remember picture,overlay]{\coordinate (B1);}}
+        &\Block[]{}{\tikz[remember picture,overlay]{\coordinate (A1);}}\\
+        \CodeAfter
+        % on trace les lignes verticales
+        \xintFor* ##1 in {\xintSeq{1}{8}}\do{%
+          \tikz\draw (3-|##1)--(\fpeval{3+\useKV[ClesTableaux]{NbLignes}}-|##1);
+        }%
+        % On place le nombre éventuel
+        \ifx\bla#2\bla%
+        \else%
+        \setsepchar[*]{,*/}
+        \readlist*\ListeNombreAPlacer{#2}%
+        \xintFor* ##2 in{\xintSeq {1}{\ListeNombreAPlacerlen}}\do{
+          \StrLen{\ListeNombreAPlacer[##2,1]}[\TabLongueurNombre]%
+          \xintFor* ##1 in{\xintSeq {1}{\TabLongueurNombre}}\do{%
+            \tikz\node at (\fpeval{##2+2.5}-|\fpeval{\ListeNombreAPlacer[##2,2]-0.5+##1}) {\PfCTBstrut\StrMid{\ListeNombreAPlacer[##2,1]}{##1}{##1}};
+          }%
+        }
+        \fi%
+      \end{NiceTabular}%
     \]%
     \Conversion{10}%
   }%
@@ -16621,114 +16962,172 @@
   {}%
   % 
   %%% Prise en compte de la cl\'e Carre
-  % 
+  %
   \ifboolKV[ClesTableaux]{Carre}{%
     \[\renewcommand{\arraystretch}{1.15}%
-      \ifboolKV[ClesTableaux]{Colonnes}{%
-      \newcolumntype{X}{|*{7}{>{\centering\arraybackslash}p{3.5mm}!{\color{gray!50}\vrule}>{\centering\arraybackslash}p{3.5mm}|}}%
-      }{%
-      \ifboolKV[ClesTableaux]{Are}{%
-      \newcolumntype{X}{|*{7}{>{\centering\arraybackslash}p{3.5mm}!{\color{gray!50}\vrule}>{\centering\arraybackslash}p{3.5mm}|}}%
-      }{
-        \newcolumntype{X}{|*{7}{p{3.5mm}p{3.5mm}|}}%
-    }}%
-      \begin{tabular}{X}%
-        \multicolumn{2}{c}{\tikz[remember picture,overlay]{\coordinate (A);}}%
-        &\multicolumn{2}{c}{\tikz[remember picture,overlay]{\coordinate (B);}}%
-        &\multicolumn{2}{c}{\tikz[remember picture,overlay]{\coordinate (C);}}%
-        &\multicolumn{2}{c}{\tikz[remember picture,overlay]{\coordinate (D);}}%
-        &\multicolumn{2}{c}{\tikz[remember picture,overlay]{\coordinate (E);}}%
-        &\multicolumn{2}{c}{\tikz[remember picture,overlay]{\coordinate (F);}}%
-        &\multicolumn{2}{c}{\tikz[remember picture,overlay]{\coordinate (G);}}\\%
-        \hline
-        \multicolumn{2}{|c|}{km$^2$}&\multicolumn{2}{c|}{hm$^2$}&\multicolumn{2}{c|}{dam$^2$}&\multicolumn{2}{c|}{m$^2$}&\multicolumn{2}{c|}{dm$^2$}&\multicolumn{2}{c|}{cm$^2$}&\multicolumn{2}{c|}{mm$^2$}\\%
+      \begin{NiceTabular}{*{7}{p{3.5mm}p{3.5mm}}}%
+        \Block[]{1-2}{\tikz[remember picture,overlay]{\coordinate (A);}}
+        &&\Block[]{1-2}{\tikz[remember picture,overlay]{\coordinate (B);}}
+        &&\Block[]{1-2}{\tikz[remember picture,overlay]{\coordinate (C);}}
+        &&\Block[]{1-2}{\tikz[remember picture,overlay]{\coordinate (D);}}
+        &&\Block[]{1-2}{\tikz[remember picture,overlay]{\coordinate (E);}}
+        &&\Block[]{1-2}{\tikz[remember picture,overlay]{\coordinate (F);}}
+        &&\Block[]{1-2}{\tikz[remember picture,overlay]{\coordinate (G);}}\\
+        \Block[borders={left,top,right}]{1-2}{km$^2$\PfCTBstrut}&&\Block[borders={left,top,right}]{1-2}{hm$^2$\PfCTBstrut}&&\Block[borders={left,top,right}]{1-2}{dam$^2$\PfCTBstrut}&&\Block[borders={left,top,right}]{1-2}{m$^2$\PfCTBstrut}&&\Block[borders={left,top,right}]{1-2}{dm$^2$\PfCTBstrut}&&\Block[borders={left,top,right}]{1-2}{cm$^2$\PfCTBstrut}&&\Block[borders={left,top,right}]{1-2}{mm$^2$\PfCTBstrut}&\\
         \ifboolKV[ClesTableaux]{Are}{%
-        \cline{3-6}
-        \multicolumn{2}{|c|}{}&&{\scriptsize ha}&&{\scriptsize a}&\multicolumn{2}{c|}{}&\multicolumn{2}{c|}{}&\multicolumn{2}{c|}{}&\multicolumn{2}{c|}{}\\
-        }{}        
-        \hline        
-        \xintFor* ##1 in {\xintSeq{1}{\useKV[ClesTableaux]{NbLignes}}}\do{%
-        &&&&&&&&&&&&&\\}
-        \multicolumn{2}{c}{\tikz[remember picture,overlay]{\coordinate[yshift=0.6em] (G1);}}%
-        &\multicolumn{2}{c}{\tikz[remember picture,overlay]{\coordinate[yshift=0.6em] (F1);}}%
-        &\multicolumn{2}{c}{\tikz[remember picture,overlay]{\coordinate[yshift=0.6em] (E1);}}%
-        &\multicolumn{2}{c}{\tikz[remember picture,overlay]{\coordinate[yshift=0.6em] (D1);}}%
-        &\multicolumn{2}{c}{\tikz[remember picture,overlay]{\coordinate[yshift=0.6em] (C1);}}%
-        &\multicolumn{2}{c}{\tikz[remember picture,overlay]{\coordinate[yshift=0.6em] (B1);}}%
-        &\multicolumn{2}{c}{\tikz[remember picture,overlay]{\coordinate[yshift=0.6em] (A1);}}\\%
-      \end{tabular}
+          \Block[borders={left,right,bottom}]{1-2}{}&&\Block[draw=gray!50,borders={left,top,bottom}]{1-1}{}&\Block[borders={top,right,bottom}]{1-1}{\scriptsize ha}&\Block[draw=gray!50,borders={left,top,bottom}]{1-1}{}&\Block[borders={top,right,bottom}]{1-1}{\scriptsize a}&\Block[borders={left,right,bottom}]{1-2}{}&&\Block[borders={left,right,bottom}]{1-2}{}&&\Block[borders={left,right,bottom}]{1-2}{}&&\Block[borders={left,right,bottom}]{1-2}{}&\\
+        }{\hline}%
+        \xintFor* ##1 in {\xintSeq {1}{\useKV[ClesTableaux]{NbLignes}}}\do{%
+          &&&&&&&&&&&&&\\
+        }%
+        \Block[]{1-2}{\tikz[remember picture,overlay]{\coordinate (G1);}}
+        &&\Block[]{1-2}{\tikz[remember picture,overlay]{\coordinate (F1);}}
+        &&\Block[]{1-2}{\tikz[remember picture,overlay]{\coordinate (E1);}}
+        &&\Block[]{1-2}{\tikz[remember picture,overlay]{\coordinate (D1);}}
+        &&\Block[]{1-2}{\tikz[remember picture,overlay]{\coordinate (C1);}}
+        &&\Block[]{1-2}{\tikz[remember picture,overlay]{\coordinate (B1);}}
+        &&\Block[]{1-2}{\tikz[remember picture,overlay]{\coordinate (A1);}}\\
+        \CodeAfter
+        % on trace les lignes verticales
+        \xintifboolexpr{\useKV[ClesTableaux]{Are}}{%
+          \xintFor* ##1 in {\xintSeq{1}{8}}\do{%
+            \tikz\draw (4-|\fpeval{2*(##1-1)+1})--(\fpeval{4+\useKV[ClesTableaux]{NbLignes}}-|\fpeval{2*(##1-1)+1});
+          }%
+          \xintFor* ##1 in {\xintSeq{1}{7}}\do{%
+            \tikz\draw[gray!50] (4-|\fpeval{2*(##1-1)+2})--(\fpeval{4+\useKV[ClesTableaux]{NbLignes}}-|\fpeval{2*(##1-1)+2});
+          }%
+        }{%
+          \xintFor* ##1 in {\xintSeq{1}{8}}\do{%
+            \tikz\draw (3-|\fpeval{2*(##1-1)+1})--(\fpeval{3+\useKV[ClesTableaux]{NbLignes}}-|\fpeval{2*(##1-1)+1});
+          }%
+          \xintifboolexpr{\useKV[ClesTableaux]{Colonnes}}{%
+            \xintFor* ##1 in {\xintSeq{1}{7}}\do{%
+              \tikz\draw[gray!50] (3-|\fpeval{2*(##1-1)+2})--(\fpeval{3+\useKV[ClesTableaux]{NbLignes}}-|\fpeval{2*(##1-1)+2});
+            }%
+          }{}%
+        }%
+        % On place le nombre éventuel
+        \ifx\bla#2\bla%
+        \else%
+        \setsepchar[*]{,*/}
+        \readlist*\ListeNombreAPlacer{#2}%
+        \xintFor* ##2 in{\xintSeq {1}{\ListeNombreAPlacerlen}}\do{
+          \StrLen{\ListeNombreAPlacer[##2,1]}[\TabLongueurNombre]%
+          \xintFor* ##1 in{\xintSeq {1}{\TabLongueurNombre}}\do{%
+            \tikz\node at (\fpeval{##2+\ifboolKV[ClesTableaux]{Are}{3.5}{2.5}}-|\fpeval{\ListeNombreAPlacer[##2,2]-0.5+##1}) {\PfCTBstrut\StrMid{\ListeNombreAPlacer[##2,1]}{##1}{##1}};
+          }%
+        }
+        \fi%
+      \end{NiceTabular}
     \]%
     \Conversion{100}%
   }{}%
-  % 
+  %
   %%% Prise en compte de la cl\'e Cube
-  % 
+  %
   \ifboolKV[ClesTableaux]{Cube}{%
     \setlength{\tabcolsep}{0.625\tabcolsep}%
-	\ifboolKV[ClesTableaux]{Colonnes}{%
-      \newcolumntype{X}{|*{7}{>{\centering\arraybackslash}p{3.5mm}!{\color{gray!50}\vrule}>{\centering\arraybackslash}p{3.5mm}!{\color{gray!50}\vrule}>{\centering\arraybackslash}p{3.5mm}|}}%
-    }{%
-    \ifboolKV[ClesTableaux]{Capacite}{%
-      \newcolumntype{X}{|*{7}{>{\centering\arraybackslash}p{3.5mm}!{\color{gray!50}\vrule}>{\centering\arraybackslash}p{3.5mm}!{\color{gray!50}\vrule}>{\centering\arraybackslash}p{3.5mm}|}}%
-    }{%
-      \newcolumntype{X}{|*{7}{p{3.5mm}p{3.5mm}p{3.5mm}|}}%
-    }}% 
     \[\renewcommand{\arraystretch}{1.15}%
-      \begin{tabular}{X}
-        \multicolumn{3}{c}{\tikz[remember picture,overlay]{\coordinate (A);}}%
-        &\multicolumn{3}{c}{\tikz[remember picture,overlay]{\coordinate (B);}}%
-        &\multicolumn{3}{c}{\tikz[remember picture,overlay]{\coordinate (C);}}%
-        &\multicolumn{3}{c}{\tikz[remember picture,overlay]{\coordinate (D);}}%
-        &\multicolumn{3}{c}{\tikz[remember picture,overlay]{\coordinate (E);}}%
-        &\multicolumn{3}{c}{\tikz[remember picture,overlay]{\coordinate (F);}}%
-        &\multicolumn{3}{c}{\tikz[remember picture,overlay]{\coordinate (G);}}\\%
-        \hline
-        \multicolumn{3}{|c|}{km$^3$}&\multicolumn{3}{c|}{hm$^3$}&\multicolumn{3}{c|}{dam$^3$}&\multicolumn{3}{c|}{m$^3$}&\multicolumn{3}{c|}{dm$^3$}&\multicolumn{3}{c|}{cm$^3$}&\multicolumn{3}{c|}{mm$^3$}\\
+      \begin{NiceTabular}{*{7}{p{3.5mm}p{3.5mm}p{3.5mm}}}
+        \Block[]{1-3}{\tikz[remember picture,overlay]{\coordinate (A);}}
+        &&&\Block[]{1-3}{\tikz[remember picture,overlay]{\coordinate (B);}}
+        &&&\Block[]{1-3}{\tikz[remember picture,overlay]{\coordinate (C);}}
+        &&&\Block[]{1-3}{\tikz[remember picture,overlay]{\coordinate (D);}}
+        &&&\Block[]{1-3}{\tikz[remember picture,overlay]{\coordinate (E);}}
+        &&&\Block[]{1-3}{\tikz[remember picture,overlay]{\coordinate (F);}}
+        &&&\Block[]{1-3}{\tikz[remember picture,overlay]{\coordinate (G);}}\\
+        \Block[borders={left,top,right}]{1-3}{km$^3$\PfCTBstrut}&&&\Block[borders={left,top,right}]{1-3}{hm$^3$\PfCTBstrut}&&&\Block[borders={left,top,right}]{1-3}{dam$^3$\PfCTBstrut}&&&\Block[borders={left,top,right}]{1-3}{m$^3$\PfCTBstrut}&&&\Block[borders={left,top,right}]{1-3}{dm$^3$\PfCTBstrut}&&&\Block[borders={left,top,right}]{1-3}{cm$^3$\PfCTBstrut}&&&\Block[borders={left,top,right}]{1-3}{mm$^3$\PfCTBstrut}&&\\
         \ifboolKV[ClesTableaux]{Capacite}{%
-        \cline{13-18}
-        \multicolumn{3}{|c|}{}&\multicolumn{3}{c|}{}&\multicolumn{3}{c|}{}&\multicolumn{3}{c|}{}&{\scriptsize hL}&{\scriptsize daL}&{\scriptsize L}&{\scriptsize dL}&{\scriptsize cL}&{\scriptsize mL}&\multicolumn{3}{c|}{}\\
-        }{}%
-        \hline
+          \Block[borders={left,right,bottom}]{1-3}{}&&&\Block[borders={left,right,bottom}]{1-3}{}&&&\Block[borders={left,right,bottom}]{1-3}{}&&&\Block[borders={left,right,bottom}]{1-3}{}&&&\Block[draw=gray!50,borders={top,left,bottom}]{}{\scriptsize hL}&\Block[draw=gray!50,borders={top,bottom},l]{}{\scriptsize daL}&\Block[draw=gray!50,borders={top,right,bottom}]{}{\scriptsize L}&\Block[draw=gray!50,borders={top,left,bottom}]{}{\scriptsize dL}&\Block[draw=gray!50,borders={top,bottom}]{}{\scriptsize cL}&\Block[draw=gray!50,borders={top,right,bottom}]{}{\scriptsize mL}&\Block[borders={left,right,bottom}]{1-3}{}&&\\
+        }{\hline}%
         \xintFor* ##1 in {\xintSeq{1}{\useKV[ClesTableaux]{NbLignes}}}\do{%
         &&&&&&&&&&&&&&&&&&&&\\
         }%
-        \multicolumn{3}{c}{\tikz[remember picture,overlay,yshift=\ht\strutbox]{\coordinate (G1);}}%
-        &\multicolumn{3}{c}{\tikz[remember picture,overlay,yshift=\ht\strutbox]{\coordinate (F1);}}%
-        &\multicolumn{3}{c}{\tikz[remember picture,overlay,yshift=\ht\strutbox]{\coordinate (E1);}}%
-        &\multicolumn{3}{c}{\tikz[remember picture,overlay,yshift=\ht\strutbox]{\coordinate (D1);}}%
-        &\multicolumn{3}{c}{\tikz[remember picture,overlay,yshift=\ht\strutbox]{\coordinate (C1);}}%
-        &\multicolumn{3}{c}{\tikz[remember picture,overlay,yshift=\ht\strutbox]{\coordinate (B1);}}%
-        &\multicolumn{3}{c}{\tikz[remember picture,overlay,yshift=\ht\strutbox]{\coordinate (A1);}}\\%
-      \end{tabular}
+        \Block[]{1-3}{\tikz[remember picture,overlay]{\coordinate (G1);}}
+        &&&\Block[]{1-3}{\tikz[remember picture,overlay]{\coordinate (F1);}}
+        &&&\Block[]{1-3}{\tikz[remember picture,overlay]{\coordinate (E1);}}
+        &&&\Block[]{1-3}{\tikz[remember picture,overlay]{\coordinate (D1);}}
+        &&&\Block[]{1-3}{\tikz[remember picture,overlay]{\coordinate (C1);}}
+        &&&\Block[]{1-3}{\tikz[remember picture,overlay]{\coordinate (B1);}}
+        &&&\Block[]{1-3}{\tikz[remember picture,overlay]{\coordinate (A1);}}\\
+        \CodeAfter
+        % on trace les lignes verticales
+        \xintifboolexpr{\useKV[ClesTableaux]{Capacite}}{%
+          \xintFor* ##1 in {\xintSeq{1}{8}}\do{%
+            \tikz\draw (4-|\fpeval{3*(##1-1)+1})--(\fpeval{4+\useKV[ClesTableaux]{NbLignes}}-|\fpeval{3*(##1-1)+1});
+          }%
+          \xintFor* ##1 in {\xintSeq{1}{7}}\do{%
+            \tikz\draw[gray!50] (4-|\fpeval{3*(##1-1)+2})--(\fpeval{4+\useKV[ClesTableaux]{NbLignes}}-|\fpeval{3*(##1-1)+2});
+            \tikz\draw[gray!50] (4-|\fpeval{3*##1})--(\fpeval{4+\useKV[ClesTableaux]{NbLignes}}-|\fpeval{3*##1});
+          }%
+        }{%
+          \xintFor* ##1 in {\xintSeq{1}{8}}\do{%
+            \tikz\draw (3-|\fpeval{3*(##1-1)+1})--(\fpeval{3+\useKV[ClesTableaux]{NbLignes}}-|\fpeval{3*(##1-1)+1});
+          }%
+          \xintifboolexpr{\useKV[ClesTableaux]{Colonnes}}{%
+            \xintFor* ##1 in {\xintSeq{1}{7}}\do{%
+              \tikz\draw[gray!50] (3-|\fpeval{3*(##1-1)+2})--(\fpeval{3+\useKV[ClesTableaux]{NbLignes}}-|\fpeval{3*(##1-1)+2});
+              \tikz\draw[gray!50] (3-|\fpeval{3*##1})--(\fpeval{3+\useKV[ClesTableaux]{NbLignes}}-|\fpeval{3*##1});
+            }%
+          }{}%
+        }%
+        % On place le nombre éventuel
+        \ifx\bla#2\bla%
+        \else%
+        \setsepchar[*]{,*/}
+        \readlist*\ListeNombreAPlacer{#2}%
+        \xintFor* ##2 in{\xintSeq {1}{\ListeNombreAPlacerlen}}\do{
+          \StrLen{\ListeNombreAPlacer[##2,1]}[\TabLongueurNombre]%
+          \xintFor* ##1 in{\xintSeq {1}{\TabLongueurNombre}}\do{%
+            \tikz\node at (\fpeval{##2+\ifboolKV[ClesTableaux]{Capacite}{3.5}{2.5}}-|\fpeval{\ListeNombreAPlacer[##2,2]-0.5+##1}) {\PfCTBstrut\StrMid{\ListeNombreAPlacer[##2,1]}{##1}{##1}};
+          }%
+        }
+        \fi%
+      \end{NiceTabular}
     \]%
     \setlength{\tabcolsep}{1.6\tabcolsep}%
     \Conversion{1000}%
   }{}%
-  % 
+  %
   %%% Prise en compte de la cl\'e Litre
-  % 
+  %
   \ifboolKV[ClesTableaux]{Litre}{%
     \[\renewcommand{\arraystretch}{1.15}%
-      \begin{tabular}{|*{6}{p{7.5mm}|}}
-        \multicolumn{1}{c}{\tikz[remember picture,overlay]{\coordinate (A);}}%
-        &\multicolumn{1}{c}{\tikz[remember picture,overlay]{\coordinate (B);}}%
-        &\multicolumn{1}{c}{\tikz[remember picture,overlay]{\coordinate (C);}}%
-        &\multicolumn{1}{c}{\tikz[remember picture,overlay]{\coordinate (D);}}%
-        &\multicolumn{1}{c}{\tikz[remember picture,overlay]{\coordinate (E);}}%
-        &\multicolumn{1}{c}{\tikz[remember picture,overlay]{\coordinate (F);}}\\%
-        \hline
-        \multicolumn{1}{|c|}{hL}&\multicolumn{1}{c|}{daL}&\multicolumn{1}{c|}{L}&\multicolumn{1}{c|}{dL}&\multicolumn{1}{c|}{cL}&\multicolumn{1}{c|}{mL}\\
-        \hline        
-        \xintFor* ##1 in {\xintSeq{1}{\useKV[ClesTableaux]{NbLignes}-1}}\do{%
-        &&&&&\\}%
-        &&&&&\\%
-        \multicolumn{1}{c}{\tikz[remember picture,overlay]{\coordinate[yshift=1em] (F1);}}%
-        &\multicolumn{1}{c}{\tikz[remember picture,overlay]{\coordinate[yshift=1em] (E1);}}%
-        &\multicolumn{1}{c}{\tikz[remember picture,overlay]{\coordinate[yshift=1em] (D1);}}%
-        &\multicolumn{1}{c}{\tikz[remember picture,overlay]{\coordinate[yshift=1em] (C1);}}%
-        &\multicolumn{1}{c}{\tikz[remember picture,overlay]{\coordinate[yshift=1em] (B1);}}%
-        &\multicolumn{1}{c}{\tikz[remember picture,overlay]{\coordinate[yshift=1em] (A1);}}\\%
-      \end{tabular}
+      \begin{NiceTabular}{*{6}{p{7.5mm}}}%
+        \Block[]{1-1}{\tikz[remember picture,overlay]{\coordinate (A);}}
+        &\Block[]{1-1}{\tikz[remember picture,overlay]{\coordinate (B);}}
+        &\Block[]{1-1}{\tikz[remember picture,overlay]{\coordinate (C);}}
+        &\Block[]{1-1}{\tikz[remember picture,overlay]{\coordinate (D);}}
+        &\Block[]{1-1}{\tikz[remember picture,overlay]{\coordinate (E);}}
+        &\Block[]{1-1}{\tikz[remember picture,overlay]{\coordinate (F);}}\\
+        \Block[draw]{}{hL\PfCTBstrut}&\Block[draw]{}{daL\PfCTBstrut}&\Block[draw]{}{L\PfCTBstrut}&\Block[draw]{}{dL\PfCTBstrut}&\Block[draw]{}{cL\PfCTBstrut}&\Block[draw]{}{mL\PfCTBstrut}\\
+        \xintFor* ##1 in {\xintSeq {1}{\useKV[ClesTableaux]{NbLignes}}}\do{%
+          &&&&&\\
+        }
+        \Block[]{1-1}{\tikz[remember picture,overlay]{\coordinate (F1);}}
+        &\Block[]{1-1}{\tikz[remember picture,overlay]{\coordinate (E1);}}
+        &\Block[]{1-1}{\tikz[remember picture,overlay]{\coordinate (D1);}}
+        &\Block[]{1-1}{\tikz[remember picture,overlay]{\coordinate (C1);}}
+        &\Block[]{1-1}{\tikz[remember picture,overlay]{\coordinate (B1);}}
+        &\Block[]{1-1}{\tikz[remember picture,overlay]{\coordinate (A1);}}\\
+        \CodeAfter
+        % on trace les lignes verticales
+        \xintFor* ##1 in {\xintSeq{1}{7}}\do{%
+          \tikz\draw (3-|##1)--(\fpeval{3+\useKV[ClesTableaux]{NbLignes}}-|##1);
+        }%
+        % On place le nombre éventuel
+        \ifx\bla#2\bla%
+        \else%
+        \setsepchar[*]{,*/}
+        \readlist*\ListeNombreAPlacer{#2}%
+        \xintFor* ##2 in{\xintSeq {1}{\ListeNombreAPlacerlen}}\do{
+          \StrLen{\ListeNombreAPlacer[##2,1]}[\TabLongueurNombre]%
+          \xintFor* ##1 in{\xintSeq {1}{\TabLongueurNombre}}\do{%
+            \tikz\node at (\fpeval{##2+2.5}-|\fpeval{\ListeNombreAPlacer[##2,2]-0.5+##1}) {\PfCTBstrut\StrMid{\ListeNombreAPlacer[##2,1]}{##1}{##1}};
+          }%
+        }%
+        \fi%
+      \end{NiceTabular}%
     \]%
     \Conversion{10}%
   }{}%
@@ -16737,28 +17136,43 @@
   % 
   \ifboolKV[ClesTableaux]{Gramme}{%
     \[\renewcommand{\arraystretch}{1.15}%
-      \begin{tabular}{|*{7}{p{7.5mm}|}}
-        \multicolumn{1}{c}{\tikz[remember picture,overlay]{\coordinate (A);}}%
-        &\multicolumn{1}{c}{\tikz[remember picture,overlay]{\coordinate (B);}}%
-        &\multicolumn{1}{c}{\tikz[remember picture,overlay]{\coordinate (C);}}%
-        &\multicolumn{1}{c}{\tikz[remember picture,overlay]{\coordinate (D);}}%
-        &\multicolumn{1}{c}{\tikz[remember picture,overlay]{\coordinate (E);}}%
-        &\multicolumn{1}{c}{\tikz[remember picture,overlay]{\coordinate (F);}}%
-        &\multicolumn{1}{c}{\tikz[remember picture,overlay]{\coordinate (G);}}\\%
-        \hline
-        \multicolumn{1}{|c|}{kg}&\multicolumn{1}{c|}{hg}&\multicolumn{1}{c|}{dag}&\multicolumn{1}{c|}{g}&\multicolumn{1}{c|}{dg}&\multicolumn{1}{c|}{cg}&\multicolumn{1}{c|}{mg}\\
-        \hline
-        \xintFor* ##1 in {\xintSeq{1}{\useKV[ClesTableaux]{NbLignes}-1}}\do{%
-        &&&&&&\\}%
-        &&&&&&\\
-        \multicolumn{1}{c}{\tikz[remember picture,overlay]{\coordinate[yshift=1em] (G1);}}%
-        &\multicolumn{1}{c}{\tikz[remember picture,overlay]{\coordinate[yshift=1em] (F1);}}%
-        &\multicolumn{1}{c}{\tikz[remember picture,overlay]{\coordinate[yshift=1em] (E1);}}%
-        &\multicolumn{1}{c}{\tikz[remember picture,overlay]{\coordinate[yshift=1em] (D1);}}%
-        &\multicolumn{1}{c}{\tikz[remember picture,overlay]{\coordinate[yshift=1em] (C1);}}%
-        &\multicolumn{1}{c}{\tikz[remember picture,overlay]{\coordinate[yshift=1em] (B1);}}%
-        &\multicolumn{1}{c}{\tikz[remember picture,overlay]{\coordinate[yshift=1em] (A1);}}\\%
-      \end{tabular}
+      \begin{NiceTabular}{*{7}{p{7.5mm}}}%
+        \Block[]{1-1}{\tikz[remember picture,overlay]{\coordinate (A);}}
+        &\Block[]{1-1}{\tikz[remember picture,overlay]{\coordinate (B);}}
+        &\Block[]{1-1}{\tikz[remember picture,overlay]{\coordinate (C);}}
+        &\Block[]{1-1}{\tikz[remember picture,overlay]{\coordinate (D);}}
+        &\Block[]{1-1}{\tikz[remember picture,overlay]{\coordinate (E);}}
+        &\Block[]{1-1}{\tikz[remember picture,overlay]{\coordinate (F);}}
+        &\Block[]{1-1}{\tikz[remember picture,overlay]{\coordinate (G);}}\\
+        \Block[draw]{}{kg\PfCTBstrut}&\Block[draw]{}{hg\PfCTBstrut}&\Block[draw]{}{dag\PfCTBstrut}&\Block[draw]{}{g\PfCTBstrut}&\Block[draw]{}{dg\PfCTBstrut}&\Block[draw]{}{cg\PfCTBstrut}&\Block[draw]{}{mg\PfCTBstrut}\\
+        \xintFor* ##1 in {\xintSeq {1}{\useKV[ClesTableaux]{NbLignes}}}\do{%
+          &&&&&&\\
+        }
+        \Block[]{1-1}{\tikz[remember picture,overlay]{\coordinate (G1);}}
+        &\Block[]{1-1}{\tikz[remember picture,overlay]{\coordinate (F1);}}
+        &\Block[]{1-1}{\tikz[remember picture,overlay]{\coordinate (E1);}}
+        &\Block[]{1-1}{\tikz[remember picture,overlay]{\coordinate (D1);}}
+        &\Block[]{1-1}{\tikz[remember picture,overlay]{\coordinate (C1);}}
+        &\Block[]{1-1}{\tikz[remember picture,overlay]{\coordinate (B1);}}
+        &\Block[]{1-1}{\tikz[remember picture,overlay]{\coordinate (A1);}}\\
+        \CodeAfter
+        % on trace les lignes verticales
+        \xintFor* ##1 in {\xintSeq{1}{8}}\do{%
+          \tikz\draw (3-|##1)--(\fpeval{3+\useKV[ClesTableaux]{NbLignes}}-|##1);
+        }%
+        % On place le nombre éventuel
+        \ifx\bla#2\bla%
+        \else%
+        \setsepchar[*]{,*/}
+        \readlist*\ListeNombreAPlacer{#2}%
+        \xintFor* ##2 in{\xintSeq {1}{\ListeNombreAPlacerlen}}\do{
+          \StrLen{\ListeNombreAPlacer[##2,1]}[\TabLongueurNombre]%
+          \xintFor* ##1 in{\xintSeq {1}{\TabLongueurNombre}}\do{%
+            \tikz\node at (\fpeval{##2+2.5}-|\fpeval{\ListeNombreAPlacer[##2,2]-0.5+##1}) {\PfCTBstrut\StrMid{\ListeNombreAPlacer[##2,1]}{##1}{##1}};
+          }%
+        }%
+        \fi%
+      \end{NiceTabular}%
     \]%
     \Conversion{10}%
   }{}%
@@ -17761,6 +18175,8 @@
 
 \RequirePackage{ifoddpage}
 
+\newlength{\PapierLeftCurrent}
+
 \newcommand\Papiers[1][]{%
   \useKVdefault[Papiers]%
   \setKV[Papiers]{#1}%
@@ -17768,7 +18184,12 @@
   \xdef\PapierHauteur{\useKV[Papiers]{Hauteur}}%
   \xdef\PapierCouleur{\useKV[Papiers]{Couleur}}%
   \xdef\PapierGrille{\useKV[Papiers]{Grille}}%
-  \xdef\PapierLeftCurrent{\ifoddpageoroneside\oddsidemargin\else\evensidemargin\fi}%
+  \checkoddpage%
+  \ifoddpage%
+  \setlength{\PapierLeftCurrent}{\oddsidemargin}%
+  \else%
+  \setlength{\PapierLeftCurrent}{\evensidemargin}%
+  \fi%
   \xdef\PapierLeft{\the\dimexpr1in+\PapierLeftCurrent}%
   \xdef\PapierBottom{\fpeval{\paperheight-\textheight-\voffset-\headheight-\topmargin-\headsep-1in}}%
   \ifboolKV[Papiers]{ZoneTexte}{%



More information about the tex-live-commits mailing list.