\makeatletter
\global\edef\tkz@sua@lw{0.4pt} 
\global\edef\tkz@sua@color{black} 
\global\edef\tkz@sua@gradsize{\textstyle} 
\global\edef\tkz@sua@tickwd{0.8 pt}
\global\edef\tkz@sua@ticka{2 pt}  
\global\edef\tkz@sua@tickb{2 pt}



\def\tkzX{\pgfutil@ifnextchar[{\tkz@X}{\tkz@X[]}}
\def\tkz@X[#1]{% 
\begingroup
 \pgfkeys{/tkzX/.cd,
 trig     = 0,
 lw       = \tkz@sua@lw,
 gradsize = \tkz@sua@gradsize,
 color    = \tkz@sua@color,
 tickwd   = \tkz@sua@tickwd,
 tickup   = \tkz@sua@ticka,
 tickdn   = \tkz@sua@tickb,  
 pos      = {below = 3pt},
 label    = $x$,
 poslabel = {below = 3pt},
 noticks  = false,
 nograd   = false,
% unit     = false,
 orig     = false,
 step    = \tkz@init@xstep
 }    
 \pgfqkeys{/tkzX}{#1}  
   \FPtrunc\posmax{\tkz@xb}{\tkz@init@xdec}%
   \FPtrunc\posmin{\tkz@xa}{\tkz@init@xdec}%
   \FPdiv\tkz@posnext{\tkz@posnext}{\tkz@init@xstep}
   \FPadd\posnext{\posmin}{\tkz@posnext}
   \FPadd\tkz@xbsup{\tkz@xb}{\tkz@init@rightspace}
   \path (\tkz@xa,0)--(\tkz@xb,0) node(tkz@xline){};%
    \protected@edef\tkz@temp{%
    \noexpand%    
   \draw[xaxe style,line width = \tkz@X@lw,%
         color      = \tkz@X@color]%
        (\tkz@xa,0)--(\tkz@xbsup,0)%
         node[xlabel style,\tkz@X@poslabel]}\tkz@temp%
         {\tkz@X@label};%
    \FPtrunc\xtkzero{0.0000000}{\tkz@init@xdec}% 
   \iftkz@X@noticks%
   \else 
\ifnum\tkz@X@trig=0%
   \FPtrunc\posmax{\posmax}{\tkz@init@xdec}% 
   \foreach \pos in {\posmin,\posnext,...,\posmax}{%
      \FPtrunc\tkz@pos{\pos}{\tkz@init@xdec}%
      \protected@edef\tkz@temp{%
      \noexpand% 
       \draw[line width = \tkz@X@tickwd,shift = {(\pos,0)}]%
            (0pt,\tkz@X@tickup)--(0pt,-\tkz@X@tickdn)%
            node[\tkz@X@pos,inner sep = 0pt]}\tkz@temp
        {\FPmul{\xgrad}{\pos}{\tkz@init@xstep}%
         \FPadd{\xgrad}{\xgrad}{\tkz@init@xorigine}%
         \FPtrunc\xgrad{\xgrad}{\tkz@init@xdec}%
         \iftkz@X@orig% 
               \iftkz@X@nograd
               \else\tkz@showgrad{\xgrad}%
                  $\textcolor{\tkz@sur@colorlabel}{%
                  \tkz@X@gradsize{\numprint{\tkz@result}}}$%
               \fi
          \else % orig
            \iftkz@init@NO% 
               \ifx\tkz@pos\posmin
               \else
                  \tkz@showgrad{\xgrad}%
                  $\textcolor{\tkz@sur@colorlabel}{%
                  \tkz@X@gradsize{\numprint{\tkz@result}}}$
               \fi
            \else % NO
               \ifx\tkz@pos\xtkzero%
                   % \iftkz@X@unit\tkz@showgrad{\xgrad}%
                   % $\textcolor{\tkz@sur@colorlabel}{%
                   % \tkz@X@gradsize{\numprint{\tkz@result}}}$
                   % \fi  
               \else 
                  \iftkz@X@nograd%
                  \else\tkz@showgrad{\xgrad}%
                    $\textcolor{\tkz@sur@colorlabel}{%
                     \tkz@X@gradsize{\numprint{\tkz@result}}}$
                  \fi
               \fi%end of xtkzero
          \fi%end of NO
      \fi%end of orig
};%  end of draw
}% end foreach
   \else %trig affichage
       \FPadd{\posmin}{\posmin}{0.5}%
       \FPdiv\nbtrigticksmax{\posmax}{\FPpi}%
       \FPdiv\nbtrigticksmin{\posmin}{\FPpi}%
       \FPmul\nbtrigticksmax{\nbtrigticksmax}{\tkz@X@trig}%
       \FPmul\nbtrigticksmin{\nbtrigticksmin}{\tkz@X@trig}%
       \FPround\nbtrigticksmin{\nbtrigticksmin}{0}% 
       \foreach \pos in {\nbtrigticksmin,...,\nbtrigticksmax}{%
          \FPmul\pospi{\pos}{\FPpi}
          \FPdiv\pospi{\pospi}{\tkz@X@trig}%
          \protected@edef\tkz@temp{%
          \noexpand\draw[line width = \tkz@X@tickwd,%
                         shift      = {(\pospi,0)}]%
                      (0pt,\tkz@X@tickup)--(0pt,-\tkz@X@tickup)%
                      node[\tkz@X@pos,%
                           text height = 8pt,%
                           inner sep   = 1pt]}\tkz@temp%
                {\tkzPrintFracWithPi{\pos}{\tkz@X@trig}%
                 \tkzprintfrac};% 
        }% end foreach                              
    \fi
\fi% end ticks  
\endgroup
 }% todo macro pour l'affichage 

%<--------------------------------------------------------------------------–>
%                                 tkzY
%<--------------------------------------------------------------------------–>

\pgfkeys{
  tkzY/.cd,
  pos/.code        = {\def\tkz@Y@pos{#1}},
  trig/.code       = {\def\tkz@Y@trig{#1}},
  lw/.code         = {\def\tkz@Y@lw{#1}},
  color/.code      = {\def\tkz@Y@color{#1}},
  label/.code      = {\def\tkz@Y@label{#1}},  
  poslabel/.code   = {\def\tkz@Y@poslabel{#1}},
  tickwd/.code     = {\def\tkz@Y@tickwd{#1}},
  ticklt/.code     = {\def\tkz@Y@ticklt{#1}},
  tickrt/.code     = {\def\tkz@Y@tickrt{#1}},
  gradsize/.code   = {\def\tkz@Y@gradsize{#1}},
  step/.code       = {\def\tkz@posnext{#1}}, 
  noticks/.is if   = tkz@Y@noticks,
  noticks/.default = true,  
  nograd/.is if    = tkz@Y@nograd,
  nograd/.default  = true,  
  orig/.is if      = tkz@Y@orig,
  orig/.default    = true,  
  unit/.is if      = tkz@Y@unit,
  unit/.default    = true  }    
\def\tkzY{\pgfutil@ifnextchar[{\tkz@Y}{\tkz@Y[]}}
\def\tkz@Y[#1]{%
 \pgfkeys{/tkzY/.cd,
 trig     = 0,
 lw       = \tkz@sua@lw,
 gradsize = \tkz@sua@gradsize,
 color    = \tkz@sua@color,
 tickwd   = \tkz@sua@tickwd,
 tickrt   = \tkz@sua@ticka,
 ticklt   = \tkz@sua@tickb,
 label    = $y$,
 poslabel = {left = 3pt},
 pos      = {left = 3pt},   
 noticks  = false,
 nograd   = false,
 unit     = false,
 orig     = false,
 step     = \tkz@init@ystep
 }    
 \pgfqkeys{/tkzY}{#1}  
   \FPtrunc\posmax{\tkz@yb}{\tkz@init@ydec}%
   \FPtrunc\posmin{\tkz@ya}{\tkz@init@ydec}%
     \FPdiv\tkz@posnext{\tkz@posnext}{\tkz@init@ystep}
   \FPadd\posnext{\posmin}{\tkz@posnext}  
   \path (0,\tkz@ya)--(0,\tkz@yb) node(tkz@yline){};%
   \FPadd\tkz@ybsup{\tkz@yb}{\tkz@init@upspace}   
   \protected@edef\tkz@temp{%
   \noexpand% 
   \draw[line width = \tkz@Y@lw,%
         color      = \tkz@Y@color,yaxe style]%
        (0,\tkz@ya)--(0,\tkz@ybsup)%
        node[\tkz@Y@poslabel,ylabel style]}\tkz@temp%
        {\tkz@Y@label};%
   \FPtrunc\ytkzero{0.000000}{\tkz@init@ydec}%
   \iftkz@Y@noticks%
   \else
   \foreach \pos in {\posmin,\posnext,...,\posmax}{%
       \FPtrunc\tkz@pos{\pos}{\tkz@init@ydec}%
       \protected@edef\tkz@temp{%
       \noexpand% 
       \draw[line width = \tkz@Y@tickwd,%
            shift       = {(0,\pos)}]%
            (\tkz@Y@tickrt,0pt)--(-\tkz@Y@ticklt,0pt)%
            node[\tkz@Y@pos,inner sep = 0pt]}\tkz@temp%
         {\FPmul{\ygrad}{\pos}{\tkz@init@ystep}%
          \FPadd{\ygrad}{\ygrad}{\tkz@init@yorigine}
          \FPtrunc\ygrad{\ygrad}{\tkz@init@ydec}%
          \iftkz@Y@orig% 
              \iftkz@Y@nograd\else\tkz@showgrad{\ygrad}%
                         $\textcolor{\tkz@sur@colorlabel}{\tkz@Y@gradsize{\numprint{\tkz@result}}}$\fi
          \else
           \iftkz@init@NO% 
             \ifx\tkz@pos \posmin\else
             \tkz@showgrad{\ygrad}%
                 $\textcolor{\tkz@sur@colorlabel}{\tkz@Y@gradsize{\numprint{\tkz@result}}}$\fi
        \else 
          \ifx\tkz@pos \ytkzero 
            \iftkz@Y@unit\tkz@showgrad{\ygrad}%
               $\textcolor{\tkz@sur@colorlabel}{\tkz@Y@gradsize{\numprint{\tkz@result}}}$\fi\else
            \iftkz@Y@nograd%
             \else \tkz@showgrad{\ygrad}%
              $\textcolor{\tkz@sur@colorlabel}{\tkz@Y@gradsize{\numprint{\tkz@result}}}$\fi\fi
        \fi
    \fi
   };%
  }%
\fi
\iftkz@init@NO\else\iftkz@Y@unit%
  \draw[line width = 1pt,%
        inner sep  = 1pt] (0,0) -- (0,1)%
        node[left=3pt]%
       {$\tkz@Y@gradsize{\numprint{\tkz@init@ystep}}$};% 
  \draw[line width = \tkz@Y@tickwd,%
        shift      = {(0,1)}]%
      (\tkz@Y@tickrt,0pt)--(-\tkz@Y@ticklt,0pt);%
  \fi\fi
}%
\makeatother
\endinput 