Le titre est un peu nébuleux, mais il aurait été difficile de le résumer en une simple phrase.
J'essaie de résoudre un problème et, pour ce faire, j'envisage d'utiliser une fonction (donc VBA) qui me renvoie, pour un chiffre décimal, le nombre de "0" après la virgule avant le premier chiffre qui ne soit pas nul.
Ex :
- 0,52866320023 (mais ça aurait pu être 258,52866320023) --> 0
- 0,0528066320023 --> 1
- 0,00528066320023 --> 2
- 0,000528066320023 --> 3
Et pour jouer aux gamins à l'urinoir de l'école, en effet la tienne est plus courte ! Mais la mienne n'est pas matricielle et donc plus simple à gérer.
@patricktoulon, Je crois que tu as la réponse à ta question. job75 écrase le concurrence !
Avec un petit ajout cosmétique pour généraliser:
=SI(SIERREUR(MOD(A2;1);0);MAX(DROITE(TEXTE(MOD(ABS(A2);1);"0E+00");2)-1);0)
@patricktoulon, Je crois que tu as la réponse à ta question. job75 écrase le concurrence ! Regarde la pièce jointe 1086515
Avec un petit ajout cosmétique pour généraliser:
=SI(SIERREUR(MOD(A2;1);0);MAX(DROITE(TEXTE(MOD(ABS(A2);1);"0E+00");2)-1);0)
Je ne vois pas l'utilité de l'ajout de SIERREUR() sauf si la cellule contient du Texte, à part ça l'ajout d'un autre argument dans MAX() fera l'affaire.
=MAX(DROITE(TEXTE(MOD(ABS(A2);1);"0E+00");2)-1;0)
Comme ça on ne va pas voir -1 comme réponse.
S'il y a du Texte dans la cellule on peut l'écrire comme ça pour renvoyer 0
=SIERREUR(MAX(DROITE(TEXTE(MOD(ABS(A1);1);"0E+00");2)-1;0);)
Je ne vois pas l'utilité de l'ajout de SIERREUR() sauf si la cellule contient du Texte, à part ça l'ajout d'un autre argument dans MAX() fera l'affaire.
=MAX(DROITE(TEXTE(MOD(ABS(A2);1);"0E+00");2)-1;0)