Date: prev next · Thread: first prev next last
2021 Archives by date, by thread · List index


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.