Afficher les 0 après décimales sans modifier le format cell

Bonjour,

J'ai un gros fichier Excel avec plein de macro et autres, dons je ne dois pas modifier le format des cellules (format standard).

Ce que je souhaiterai c'est que quand dans mes cellules (de toute la colonne D), je rentre dans les décimales des zéros ceux-ci s'affichent, et ne disparaissent pas avec l'arrondissement que le format standard effectue automatiquement.

Je pense que du Vba serait nécessaire, mais si vous trouver mieux...

Je vous transfert directement mon fichier traité pour l'exercice.

Point à signaler : les cellules de la colonne D sont déjà soumises à du Vba et de la forme conditionnelle.

Meilleur vœux et cordialement.

79test.xlsm (388.07 Ko)

Bonjour,

Le format de cellule Standard n'arrondit rien ! Il se contente d'afficher les chiffres significatifs, à l'exclusion des autres (et le 0 n'est significatif que dans certaines positions !)

Alors, si tu entres une valeur numérique, et que tu la veux sous un format particulier, il faut mettre le format de cellule adéquat pour cela, ce que tu peux éventuellement faire par VBA !

Sinon tu entres sous forme de texte, mais ce n'est plus une valeur numérique...

Cordialement.

Oui tu as raison c'est exactement ça le problème. Tu aurais une piste pour me lancer dans mon code VBA ?

Pour ça il faudrait que je comprenne quel est le problème et où il se situe !

Tu as une formule qui fait une recherche dans une table où les nombres sont à 3 chiffres après la virgule, mais qui n'en répercute que 2 si le 3e est un 0. Je ne vois donc pas pourquoi si tu saisis à la main il devrait y avoir 3 chiffres et seulement 2 quand c'est la formule qui renvoie ?

Alors, oui, j'ai peut être était un peu trop flou.

Donc je vous explique le pourquoi du comment.

Tout d'abord, le pourquoi des "0" après des décimales. En qualité métrologique les "0" compte et oui . En soit 20 microns est différent de 2 centièmes, car quand on mesurera, ça sera avec un instrument de mesure différent.

Après pourquoi le format standard.

Alors pour ceci c'est très simple je souhaite mettre des formats standard, car j'ai des formes conditionnelles avec ces cellules.

Ci-dessous celles-ci, que l'on peu trouver dans le fichier test envoyé précédemment :

ET(ARRONDI($E14;1)=$E14;ARRONDI($E15;1)=$E15) ceci donne le format :

# ##0,0

=ET(ARRONDI($E30;2)=$E30;ARRONDI($E31;2)=$E31;ARRONDI($G30;2)=$G30)

ceci donne le format :

# ##0,00

Etc pour toutes les décimales jusqu'a 3 (micron)...

Maintenant pourquoi je veux faire ceci. Je veux que l'utilisateur quand il rentre les valeurs dans la colonne E (les deux lignes) ou G, le résultat qu'il trouvera par le biais d'une formule dans les colonnes H, J, M ou O soit tous au même nombre de décimaux, donc chaque "0" compte.

Dans les colonnes E et G il y a des formules de recherche pour rechercher des références ISO déjà existantes, mais il se peut que le client demande expressément une dimension particulière; donc, la rentrer de manière manuscrite.

Je vais essayer de rester primaire, et ne pas mélanger unité de mesure, valeur (qu'elle soit dans les cas qui nous occupent, saisie ou résultant d'un calcul renvoyé par une formule), format d'affichage (soit le format de cellule dans notre cas, mais que tu étends en utilisant la mise e forme conditionnelle pour le modifier...), sans oublier le rôle du zéro dont tu ne sembles pas apprécier l'exacte mesure de son importance (bien qu'il ne fasse pas tout à lui seul).

Il est vrai que depuis son invention par les Indiens aux Ve siècle (peut-être même un peu avant), plus exactement la conjonction de trois éléments (qui se sont trouvés réunis une seule fois au même endroit dans l'histoire du monde) : une série de symboles destinés la représentation des nombres, dégagée des représentations composites d'ensembles de traits ou points et limitée au nombre de représentations nécessaires dans la base numérique utilisée, une numération par position de l'écriture des nombres, et enfin l'adjonction d'un symbole comblant les vides de la numération par position là où ce vide devenait significatif pour distinguer un nombre de tout autre, et se chargeant d'un nouveau concept de valeur nulle, il a fallu attendre quasiment le XVe siècle pour que cette révolution permettant l'écriture de tout nombre et ouvrant la voie au développement des mathématiques et la résolution des problèmes sur lesquels avaient buté les Grecs, commence à prendre le pas en Occident sur les modes antiques de calcul.

Ce nouveau système de traitement des nombres avait cependant essaimé au Moyen-Orient (avant islamisation), et les érudits Arabes ont compris dès le VIIIe siècle la supériorité de cette façon de faire et s'en sont servi pour jeter les bases de l'algorithmique et de l'algèbre...

Pour la question qui nous occupe, soit la position significative du zéro, ce dernier a une position significative quand le "rien" qu'il représente occupe une position qui ne peut être laissée vide pour que les autres éléments acquièrent leur sens dans une numération positionnelle. Cette numération repose sur la notion de rang représentant une puissance de la base numérique et rend obligatoire de mentionner l'absence de valeur dans une puissance inférieure à la puissance maximale du nombre défini dans cette écriture (par exemple : 5050 => tous les 0 sont significatifs ; 05050 => le premier ne l'est naturellement pas, il ne change rien à la valeur numérique).

C'est ce type de numération qui a permis d'écrire des nombres décimaux (on ne le pouvait pas avant) et s'est rapidement élargi aux nombres négatifs et aux puissances négatives positionnelles (avant de s'élargir encore...) et même chose en ce qui concerne les puissances négatives, le zéro est significatif sur les rang intermédiaires... (100,01 => tous les 0 sont significatifs ; 100,010 => le dernier ne l'est naturellement pas, il ne modifie en rien la valeur).

Je pensais que c'était simple à comprendre aujourd'hui, mais il semble que pas tout à fait !

2 centièmes est différent de 20 microns !

Là ! autre problème, 20 microns est défini par une unité : 20 µm (micron est en principe retiré de toute utilisation légale depuis 1968), soit en mètres : 0,00002 m (et si on l'écrit 0,000020 m cela ne change rien à la mesure).

2 centièmes ? C'est 2/100 = 0,02 mais aucune unité n'est définie ! S'il s'agit de mètres : alors 0,02 m est différent de 20 µm = 0,00002 m. S'il s'agit de centimètres : 0,02 cm =0,0002 m ce sera aussi différent. Mais s'il s'agit de millimètres : 0,02 mm = 0,00002 m, là cela représentera exactement la même mesure !

Il s'agit donc de définir l'unité pour pouvoir tirer une conclusion.

Le format d'affichage est en principe défini par le format de cellule, ce dernier permet d'afficher diversement une même valeur et cette valeur n'en est aucunement modifiée. Dans ce cadre, l'affichage de 0 non significatifs peut s'avérer utile pour faciliter les comparaisons visuelles, étant entendu que cela ne change rien au contenu de la cellule.

Si on laisse le format Standard, tant que le nombre peut être affiché en entier, il le sera, sans 0 significatif.

Maintenant, que fait une MFC arrêtant un format commun en nombre de décimales pour 3 valeurs si leur valeur arrondie à ce nombre de décimales est égal à la valeur réelle. Elle ne change pas la valeur non plus, n'arrondit rien, elle se contente de fournir le format lorsque la condition est réunie.

Il était inutile d'en prévoir 3 : modifier le format standard économisait simplement une MFC !

Enfin, le fait de saisir n'empêchant pas ces MFC de s'appliquer, elles s'appliqueront ! Et le résultat sera conforme à ce qui était attendu, il s'affichera selon le cas avec une, deux ou trois décimales.

Je ne vois plus où est le problème !

Bonjour,

Je suis dans le même cas que toi Flstyle. As-tu trouvé une solution à ce problème ?

J'ai mon étalon qui a 6 calibres, donc les nombres de chiffres significatifs sont différents sur toute sa plage de mesure. Je souhaiterai que ma cellule affiche automatiquement le bon nombre de chiffre en fonction de la mesure entrée.

Peut-être n'existe-il pas de solution pour automatiser cela ?

MFerrand : en métrologie, nous devons afficher les 0 en chiffre significatif sur les certificats d'étalonnage (c'est obligatoire). Il y a une grosse différence entre un thermomètre qui indique 27°C et un autre qui indique 27,00°C : c'est la précision de la mesure. Les calculs d'incertitude sur les mesures seront donc très différents.

Bonjour Benoît24,

Tout à fait d'accord avec toi pour marquer par le format le caractère significatif de la précision d'une mesure, mais il ne faut pas confondre cela avec la qualité de chiffre significatif ou non dans une valeur numérique.

Le format de cellule te permet justement de distinguer par : 0 un chiffres qui devra toujours apparaître à la position où il est mentionné, et donc affichera un 0 non significatif, et # pour les chiffres qui seront non affichés lorsqu'il s'agit de 0 non significatifs.

Cordialement.

Rechercher des sujets similaires à "afficher decimales modifier format"