chiffres significatifs

Bonjour,

Je cherche une fonction pour Calc qui permet d'afficher ce que j'appelle
les "chiffres significatifs, en indiquant un nombre de chiffres.

Ce que je souhaite idéalement, en paramétrant 2 chiffres significatif :

nombre réel affichage désiré
153,45 153 (plutôt que 150)
20,3 20
8,76 8,8
0,123 0,12
0,000256 0,00026

Mais je ne trouve rien ni dans l'aide ni dans le forum avec ces mots : est-ce
que ça s'appelle autrement ?

ou quelque chose d'approchant ?

Merci,

Bonjour

C'est arrondir à l'entier le plus proche ou je n'ai pas compris la question ?

Si oui, voir la fonction arrondi

Bonjour,

Pour n'avoir qu'un nombre limité, systématiquement, de chiffres significatifs, c'est d'utiliser la notation scientifique.
Mais si l'affichage scientifique ne convient pas !

Sinon tu as : ARRONDI_PRECISION(valeur ; 2)
Mais à partir d'un certain nombre de "0" non significatifs ça présente en scientifique :
0,000153 donne 0,00015
mais 0,0000153 donne 1,5E−05
Et pour 153 : cela donne 150 !

Bonne journée
Patrick

Bonjour

Les chiffres significatifs se parametrent avec # dans les formats de nombre.
La notation scientifique affiche les valeurs par multiple de 1000, ce n'est pas vraiment la même chose.

Ce qui ne va pas dans les exemples donnés est que le nombre de chiffres significatifs souhaité n'est pas le même d'un exemple à l'autre.
153,45 =>#  ou 0 donnera 153
20,3=># ou 0 donnera 20
Mais
8,76=>#,# ou 0,0 donnera 8,8
0,123= #,## donnera ,12 alors que 0,00 ou 0,## donnera 0,12
0,00256=>0,#### donnera 0,0026
0,00" "### donnera 0,00 256 (et d'autres variantes)

Le 0 non significatif garantira l'affichage de zero si le chiffre (décimale ou "dizieme") "n'existe" pas.

La pratique est d'afficher pour une même colonne, autant de chiffres avant la virgule, pour toutes les valeurs (on utilise plutôt les 0 non significatifs) et autant de chiffres après la virgule pour toutes les valeurs
 par exemple pour 8,2 le format 00,00 donnera 08,20

A noter qu'ensuite une espace divise la valeur par 1000 (ce qu permet de créer la notation scientifique)
Ainsi pour 1 534,5 => #,# " milliers" donnera 1,6 milliers (il y a bien une espace entre #et")

https://help.libreoffice.org/7.0/fr/text/shared/01/05020301.html

Claire

Bonjour,

J'arrive à reproduire le résultat des 4 premiers en jouant sur le format d'affichage des nombres (format, cellule, onglet nombres). Ne pas hésiter à personnaliser le champ "description de format".
Pour le dernier avec =ARRONDI(A5; 5)

Cordialement

Je cherche une fonction qui marche pour tous les cas, afin de ne pas
avoir à paramétrer chaque cellule, à l'image de la fonction "arrondi"

Non Claire, en physique ce qu'on appelle "chiffres significatifs" sont les chiffres différents de zéro :
Les zéros placés devant ne sont pas significatifs:
exemple : 0,00123 contient 3 chiffres significatifs qui sont 123, les zéros devant ne sont pas significatifs.
En revanche, le nombre 0,001230 a 4 chiffres significatifs car le zéro derrière est signicatif.
en effet : 0,001230 exprime une valeur comprise entre 0,001220 ≤ 0,001230 ≤ 0,001231
alors que : 0,00123 exprime une valeur comprise entre 0,00122 ≤ 0,00123 ≤ 0,00124

Seule la notation scientifique permet cet affichage : 1,23E−03 = 0,00123

Essaie la fonction ARRONDI_PRECISION(valeur, nombre de chiffres)

Bonjour,

Il ne peut y avoir de fonction existante car dans cette demande le nombre de chiffres significatifs est une contrainte spécifique à l'utilisateur qui dépend de la valeur à afficher.

Grâce à l'une des réponses qui m'a fait découvrir la fonction ARRONDI_PRECISION, je propose la formule suivante qui permet de résoudre le problème, au moins pour les exemples donnés:

=SI(A1>=100;ARRONDI(A1;0);ARRONDI_PRECISION(A1;2))

formule qui peut se compliquer à l'envi selon le besoin.

Bonjour,

Il ne peut y avoir de fonction existante car dans cette demande le
nombre de chiffres significatifs est une contrainte spécifique à
l'utilisateur qui dépend de la valeur à afficher.

Il n'y a qu'un paramètre : le nombre de chiffres significatifs. Il peut
y avoir aussi des options en fonction des valeurs, en mode "plus
compliqué"

Je suis étonné que ça n'existe pas, on utilise tous tous les jours les
chiffres significatifs. Quelle que soit la valeur qu'on veut indiquer, on
s'adapte à l'ordre de grandeur, et on arrondi en fonction de la précision
souhaitée :
1 m (à quelques cm près)
0,102 m (au mm près)
0,0012 m etc.
On le fait le plus souvent en changeant l'unité : km, m, cm, mm, mais
c'est le même usage.

Grâce à l'une des réponses qui m'a fait découvrir la fonction
ARRONDI_PRECISION, je propose la formule suivante qui permet de résoudre
le problème, au moins pour les exemples donnés:

=SI(A1>=100;ARRONDI(A1;0);ARRONDI_PRECISION(A1;2))

formule qui peut se compliquer à l'envi selon le besoin.

Oui, ça finira par une grosse formule !

Re !
Désolée j'ai n'ai pas le bon outil pour répondre sous les citations

Régis, si je comprends bien, le fond du problème est que tu cherches a stocker sur une seule et même colonne des valeurs d'un ordre de grandeur différent et à adapter en conséquence l'unité d'affichage.
C'est pour le moins pas orthodoxe du tout !
Les résultat que tu obtiendrais serait source d'erreur et de mauvaise interprétation.

Écrire
1m
0,102 m
0,0012 m

Très bien tant que tu restes dans la même unité.
Dans ce cas, c'est le comportement naturel.
En revanche si 0,102m est un arrondi de 0,1023m, c'est une mauvaise pratique d'arrondir à 0,102 si à côté tu as 0,012.
En gros si tu tronque, tu dois tronquer toutes les valeurs de façon identique.
Et en réalité, tu devrais veiller à avoir autant de décimale  pour chaque valeur. Là tu minimiseras les erreurs d'interprétation.

Soit
1,0000m
0,1023m (ou 0,1020m si le 3 n'existe pas)
0,0012m
Même avec un mail en txt, tu devrais voir la différence.

Le souci c'est que ta règle change d'une ligne a l'autre, selon les valeurs que tu analyses, appliquer un arrondi différent peut modifier le résultat final, même a un pouillème qui peut avoir son importance.
C'est pour cela que généralement on travaille sur le format qui ne modifie pas la valeur intrinsèque de la cellule.
Mais même sur le format comme expliqué au dessus,. Si tu ne gardes pas la même unité et que tu traites les valeurs d'une même colonne différemment, ça ne va pas non plus....

Tu ne veux pas nous dire quel problème initial tu cherches a résoudre en faisant ça ? Peut-être que l'on pourra t'aiguiller de façon plus judicieuse.

Claire

Régis, si je comprends bien, le fond du problème est que tu cherches a stocker sur une seule et même colonne des valeurs d'un ordre de grandeur différent et à adapter en conséquence l'unité d'affichage.

Ce que je cherche est indépendant de l'unité. Ça peut être la même, un multiple ou une tout autre unité.

En gros si tu tronque, tu dois tronquer toutes les valeurs de façon identique.

Justement non, c'est le principe des chiffres significatifs. Quand on parle de grandes distances, on arrondit au km, voire à 100 km, et quand on parle de très faibles distances, on arrondit au mm ou moins. On ne dit pas 123,456 789 km

Le souci c'est que ta règle change d'une ligne a l'autre, selon les valeurs que tu analyses, appliquer un arrondi différent peut modifier le résultat final, même a un pouillème qui peut avoir son importance.

Je ne parle que de l'affichage, pas du résultat lui-même.

Tu ne veux pas nous dire quel problème initial tu cherches a résoudre en faisant ça ? Peut-être que l'on pourra t'aiguiller de façon plus judicieuse.

J'ai dans le même tableau de très gandes valeurs et de très petites valeurs. Je ne veux pas avoir des 123 456,789 123 pour pouvoir afficher 0,000 012

Claire

Bonjour,
Il ne peut y avoir de fonction existante car dans cette demande lenombre de chiffres significatifs est une contrainte spécifique àl'utilisateur qui dépend de la valeur à afficher.
Il n'y a qu'un paramètre : le nombre de chiffres significatifs. Il peuty avoir aussi des options en fonction des valeurs, en mode "pluscompliqué"
Je suis étonné que ça n'existe pas, on utilise tous tous les jours leschiffres significatifs. Quelle que soit la valeur qu'on veut indiquer, ons'adapte à l'ordre de grandeur, et on arrondi en fonction de la précisionsouhaitée :1 m (à quelques cm près)0,102 m (au mm près)0,0012 m etc.On le fait le plus souvent en changeant l'unité : km, m, cm, mm, maisc'est le même usage.

Grâce à l'une des réponses qui m'a fait découvrir la fonctionARRONDI_PRECISION, je propose la formule suivante qui permet de résoudrele problème, au moins pour les exemples donnés:
=SI(A1>=100;ARRONDI(A1;0);ARRONDI_PRECISION(A1;2))
formule qui peut se compliquer à l'envi selon le besoin.
Oui, ça finira par une grosse formule !

Le 21/02/2021 à 12:29, sigir a écrit :Bonjour,
Je cherche une fonction pour Calc qui permet d'afficher ce que j'appelleles "chiffres significatifs, en indiquant un nombre de chiffres.
Ce que je souhaite idéalement, en paramétrant 2 chiffres significatif :
nombre réel affichage désiré153,45 153 (plutôt que 150)20,3 208,76 8,80,123 0,120,000256 0,00026
Mais je ne trouve rien ni dans l'aide ni dans le forum avec ces mots : est-ceque ça s'appelle autrement ?
ou quelque chose d'approchant ?
Merci,
--Cordialement,
Michel
PS: Si vous répondez, merci d'utiliser la fonction "répondre à tous" de votre logicielde courrier électronique de façon que la liste reçoive une copie de votre réponse.

--Envoyez un mail à users+unsubscribe@fr.libreoffice.org pour vous désinscrireLes archives de la liste sont disponibles à https://listarchives.libreoffice.org/fr/users/Privacy Policy: https://www.documentfoundation.org/privacy

--Régis Fraisse

--Envoyez un mail à users+unsubscribe@fr.libreoffice.org pour vous désinscrireLes archives de la liste sont disponibles à https://listarchives.libreoffice.org/fr/users/Privacy Policy: https://www.documentfoundation.org/privacy

Bizarre, les signes de citation ont disparu rendant ce message
incompréhensible. je corrige :

Régis, si je comprends bien, le fond du problème est que tu cherches a stocker
sur une seule et même colonne des valeurs d'un ordre de grandeur
différent et à adapter en conséquence l'unité d'affichage.

Ce que je cherche est indépendant de l'unité. Ça peut être la même, un
multiple ou une tout autre unité.

En gros si tu tronque, tu dois tronquer toutes les valeurs de façon identique.

Justement non, c'est le principe des chiffres significatifs. Quand on
parle de grandes distances, on arrondit au km, voire à 100 km, et quand
on parle de très faibles distances, on arrondit au mm ou moins. On ne
dit pas 123,456 789 km

Le souci c'est que ta règle change d'une ligne a l'autre, selon les valeurs que
tu analyses, appliquer un arrondi différent peut modifier le résultat
final, même a un pouillème qui peut avoir son importance.

Je ne parle que de l'affichage, pas du résultat lui-même.

Tu ne veux pas nous dire quel problème initial tu cherches a résoudre en
faisant ça ? Peut-être que l'on pourra t'aiguiller de façon plus judicieuse.

J'ai dans le même tableau de très gandes valeurs et de très petites
valeurs. Je ne veux pas avoir des 123 456,789 123 pour pouvoir afficher
0,000 012

Salut Régis

Si ce n'est que l'affichage (me voilà un peu rassurée !l ) il ne faut pas utiliser de fonction arrondi ou n'importe laquelle de ses variantes.
Changer l'unité me paraît vraiment mauvais (sauf peut-être si l'unité change d'une colonne a l'autre et pas "aléatoirement" selon telle ou telle cellule. Bref.

As tu essayé le notation scientifique dont parlait Patrick hier ? Format/nombre/scientifique.
Je n'ai pas de pc sous la main, juste une version de Collabora mais c'est bien plus complet dans Calc et ça me semble être une solution.

Les chiffres significatifs s'afficheront, et ce qui change est l'exposant.  De là tu peux essayer la notation ingénieur qui  est proposée dans les options (case a cocher au niveau du paramétrage des zéros non significatifs et des décimales)

0,000012 donne 1,2 E5
143,4784 donne 1,4 E2
(Selon le nombre de décimale que tu choisis et sans l'option notation ingénieur)

Est-ce que ce t'irait ?

Personnellement pour éviter toute erreur d'interprétation je trouverais le moyen d'afficher de facon bien visible qu'il y 1 un changement d'unité ou de puissance....

Claire

Pour faire ça on utilise la notation scientifique qui te donne le nombre de chiffres que tu veux et l'ordre de grandeur.
Dans Calc pour avoir 3 chiffres significatifs, il faut donc demander 2 décimales puisqu'en notation scientifique il y a toujours un chiffre non nul avant le séparateur décimal.

Il y a une variante qu'on appelle la notation ingénieur où l'exposant est un multiple de 3, mais dans ce cas on peut avoir plus d'un chiffre avant le séparateur décimal.

Exemple :
12345 -> 1,23E+04
0,12345 -> 1,23E-01
12,345 -> 1,23E+01
123,45 -> 1,23E+02
1234,5 -> 1,23E+03
0,012345 -> 1,23E-02

Évidemment c'est ce qu'il y a après le E qui est important.

Ah, ça me rappelle le temps de la règle à calcul et de la table de logarithmes. :wink:

Pour récupérer les 3 premiers chiffres significatifs d'un nombre dans la case A1, tu peux procéder de la façon suivante en décomposant les calculs :
- en B1 on met l'exposant de la notation scientifique qui est donné par ENT(LOG10(A1)
- en C1 on divise par 10 à la puissance cet exposant pour ramener le nombre entre 1 et 10, soit C1 = A1 / (10^B1)
- on multiplie par 100 (pour les 2 premier chiffres après la virgule) puis on prend la partie entière pour éliminer les autres
- dans les 6 cas de mon exemple on récupère bien sûr 123.

Je te laisse généraliser ça au cas où A1 est négatif et aux cas où tu veux plus de 3 chiffres significatif.
Attention dans le cas négatif -12345 donne -124 (cf. la définition de la partie entière : le plus grand entier plus petit que...)

Bonne journée
JBF