First, thank you very much for all your answers.
It is not clear to me if yformatter does format only the yticks or the values themselves.
Anyhow, with your new solution, I cannot for example have the value with no digits
(like 2x10^-6 instead of 2.0x10^-6).
(I tried that : )
plot(x, x*1e-6, yformatter=x->round(x,sigdigits=0))