Bonjour
merci pour ce complément. Comme l'indique Michel vous pourriez conserver
la formule initiale, ce n'est pas choquant en fait, en y intégrant cette
modif :
SI(a3+a4<>0;a3+a4;NA())
=> la fonction NA() a pour objet de faire ce que vous souhaitez...
transformer la valeur de la cellule en "N/D" =non déterminé (le N/A de
Excel)
Il est possible aussi d'utiliser une formule de ce type, qui a l'intérêt
de reprendre votre besoin (si mes dépenses ne sont pas des chiffres, je
n'additionne pas), /mais votre première formule est suffisante, et assez
simple, si vous y enlevez les mentions inutiles (la feuille si vous êtes
sur la même, etc...)/
SI(ESTNUM(B2);SOMME(B2:B19);NA()), ou si vos nommez vos plages :
SI(ESTNUM(B2);SOMME(janvier);NA())
où B2 est la première ligne de vos dépenses du mois considéré, (mais à
vous de voir où le critère doit porter...) et B2:B19 la plage de vos
dépenses du mois. à vous d'utiliser des références absolues ou relatives
selon l'organisation de votre fichier, ou des plages nommées donc.
Il existe aussi la fonction TYPE() qui permet de repérer les cellules
"nombre" par rapport aux cellules de texte. Mais quand une cellule est
vide, elle est par défaut de type "nombre". Cela n'est donc pas suffisant.
La fonction SOMME.SI est tentante, mais renvoie effectivement 0 quand il
n'y a pas de valeur, ce qui n'est pas ce dont vous avez besoin.
Et puisqu'au départ vous cherchiez à utiliser des instructions, des
variables à initialiser, cela peut aussi certainement se faire par une
macro. Ce n'est pas franchement nécessaire, mais si vous vouliez pousser
de ce coté là, d'autres de la liste sauront vous aiguiller.
Claire
Le 08/08/2021 à 19:42, Arnaud Kaiser a écrit :
Bonsoir,
Merci à tous pour vos réponses, je comprends donc qu'une cellule est
faite pour une seule formule et non pour une suite d'instructions.
Mon objectif est simplement, pour un tableau de 12 colonnes (1 colonne
par mois) que je remplis en additionnant des dépenses mensuelles, de
ne mettre aucune valeur pour les mois non encore passés plutôt que la
valeur 0. Cela parce que je trace ensuite un graphe de ce tableau et
du coup, il me met 12 points (qui correspondent aux valeurs de chacun
des mois) avec la valeur 0 pour tous les mois non encore passés. Cela
biaise ensuite l'affichage des régressions linéaires.
Bref, pour faire court, j'ai le tableau de dépenses suivant :
Jan;Fev;Mar;Avr;Mai;Jui;Jul;Aou;Sep;Oct;Nov;Dec
124;365;254;446;138;98;334;0;0;0;0;0
Et je veux avoir le tableau suivant qui ne met aucune valeur au lieu du 0
Jan;Fev;Mar;Avr;Mai;Jui;Jul;Aou;Sep;Oct;Nov;Dec
124;365;254;446;138;98;334;;;;;
Pour cela j'utilise ma formule avec le if pour mettre la valeur dans
le tableau si différent de 0, sinon mettre "" (ou bien "N/A") au lieu
de la valeur 0. Lors du tracé de la courbe il affiche alors uniquement
les points des mois écoulés (7 sur 12 puisqu'on est en août) et le
calcul des régressions n'est ensuite plus biaisé.
Cordialement,
Arnaud
Le dim. 8 août 2021 à 15:21, Ocleyr2lalune <ocleyr2lalune@zaclys.net
<mailto:ocleyr2lalune@zaclys.net>> a écrit :
Sur votre formule en tant que telle...
Êtes vous dans la feuille/sheet1 ? Si oui
If(a3+a4<>0;a3+a4;"n/a")
Peut déjà se corriger car n/a est une valeur d'erreur que vous
devriez obtenir en utilisant le bonne fonction, sans avoir besoin
de l'écrire. Il faudrait nous en dire un peu plus sur ce que vous
cherchez a faire.
Claire
Le 8 août 2021 à 15:12 +0200, yves dutrieux <ydutrieux@gmail.com
<mailto:ydutrieux@gmail.com>>, a écrit :
Bonjour,
je ne connais pas cette notion de variable en calc.
il existe une manière de nommer des cellules mais pas à ma
connaissance de
nom de variable.
dans ton exemple, je vois pas tellement l'utilité de remplacer
par une
variable si ce n'est allonger la formule... :-/
Mais peut-être que je me trompe si j'ai pas bien compris ;)
Yves
Le dim. 8 août 2021 à 14:26, Arnaud Kaiser
<arnaud.kaiser@gmail.com <mailto:arnaud.kaiser@gmail.com>> a
écrit :
Bonjour,
Pour simplifier l'écriture de formules dans les cellules
d'un tableur Calc,
je voudrais utiliser une variable mais je ne sais pas
comment séparer les 2
opérations (initialisation de la variable puis réalisation
du calcul avec
celle-ci).
Voici un exemple. J'ai dans une cellule la formule suivante :
=IF(($'Sheet1'.A3+$'Sheet1'.A4)<>0;$'Sheet1'.A3+$'Sheet1'.A4;"N/A")
qui affiche le résultat de la somme
$'Sheet1'.A3+$'Sheet1'.A4 si elle est
différente de 0, qui affiche "N/A" sinon.
Je veux dans cette formule remplacer
$'Sheet1'.A3+$'Sheet1'.A4 par la
variable VAR. J'écris alors dans la cellule la formule
suivante :
=(VAR=$'Sheet1'.A3+$'Sheet1'.A4;IF(VAR<>0;VAR;"N/A"))
mais ça ne marche pas, j'obtiens l'erreur #NAME?
Je pense que le problème vient du séparateur des 2
opérations : j'ai mis
dans l'exemple un ; mais ça doit être faux.
Quelqu'un connait la solution svp ?
Cordialement,
Arnaud
--
Envoyez un mail à users+unsubscribe@fr.libreoffice.org
<mailto:users%2Bunsubscribe@fr.libreoffice.org> pour vous
désinscrire
Les archives de la liste sont disponibles à
https://listarchives.libreoffice.org/fr/users/
<https://listarchives.libreoffice.org/fr/users/>
Privacy Policy: https://www.documentfoundation.org/privacy
<https://www.documentfoundation.org/privacy>
--
web site : http://www.molenbaix.com <http://www.molenbaix.com>
--
Envoyez un mail à users+unsubscribe@fr.libreoffice.org
<mailto:users%2Bunsubscribe@fr.libreoffice.org> pour vous
désinscrire
Les archives de la liste sont disponibles à
https://listarchives.libreoffice.org/fr/users/
<https://listarchives.libreoffice.org/fr/users/>
Privacy Policy: https://www.documentfoundation.org/privacy
<https://www.documentfoundation.org/privacy>
--
Envoyez un mail à users+unsubscribe@fr.libreoffice.org pour vous désinscrire
Les archives de la liste sont disponibles à https://listarchives.libreoffice.org/fr/users/
Privacy Policy: https://www.documentfoundation.org/privacy
Context
Privacy Policy |
Impressum (Legal Info) |
Copyright information: Unless otherwise specified, all text and images
on this website are licensed under the
Creative Commons Attribution-Share Alike 3.0 License.
This does not include the source code of LibreOffice, which is
licensed under the Mozilla Public License (
MPLv2).
"LibreOffice" and "The Document Foundation" are
registered trademarks of their corresponding registered owners or are
in actual use as trademarks in one or more countries. Their respective
logos and icons are also subject to international copyright laws. Use
thereof is explained in our
trademark policy.