[Résolu]la condition 'si.conditions'

Discussions à propos du tableur Calc.
Les questions sur les macros doivent être postées dans la section dédiée en dessous.

Modérateur : Vilains modOOs

Règles du forum
Cette section est uniquement dédiée au tableur Calc. Vous ne devez pas poster ici de questions sur les macros mais utiliser la section éponyme.
Veroniky
Membre lOOyal
Membre lOOyal
Messages : 35
Inscription : 15 janv. 2024 14:40

[Résolu]la condition 'si.conditions'

Message par Veroniky »

Bonsoir, je suis en train de faire un test avec le 'si.conditions' avec l'insertion de formule logique
Un calcul : A1 5+8 = ->B2 la réponse -> ma formule =SI.CONDITIONS(B2=13;1;B2>14;0;si B2<13;0)
J'ai erreur 509. J'ai regardé plusieurs tutos mais je ne trouve pas mon erreur...Quelle est l'erreur? J'ai tenté de changer plus grand ou égale à (et l'inverse) à 14 (ou 12). Bref, je suis intriguée ;-)
Au départ, je voulais avoir comme réponse 'bravo' et 'vérifie' mais les textes ne sont pas autorisés (je suis juste en train de cogiter sur un document, je n'ai rien de plus précis et concret à vous donner).
Je suis consciente que c'est simple mais les tutos regardés n'avaient que des chiffres en réponses et ma formule respecte ce que j'ai lu (pas compliqué vu la facilité du gestionnaire de formule). Quand j'avais appris à formuler des conditions, c'était plus simple 'si...alors'
J'espère que vous pourrez m'aider.
bonne soirée/nuit/journée.
A bientôt.
Vous ne pouvez pas consulter les pièces jointes insérées à ce message.
Dernière modification par Veroniky le 15 mars 2024 10:40, modifié 1 fois.
LibreOffice 7.6.4.1 sous Windows 11
Avatar de l’utilisateur
Michel JANZEF
ManitOOu
ManitOOu
Messages : 3454
Inscription : 12 janv. 2006 10:04

Re: la condition 'si.conditions'

Message par Michel JANZEF »

Bonsoir,
Dans votre formule

Code : Tout sélectionner

=SI.CONDITIONS(B2=13;1;B2>14;0;si B2<13;0)
vous faites référence à B2 au lieu de B1 et il y a un SI de trop.
Votre formule devient donc :

Code : Tout sélectionner

=SI.CONDITIONS(B1=13;1;B1>14;0;B1<13;0)
Qu'en est-il si la valeur est égale à 14 ?
Et, si vous souhaitez mettre du texte au lieu de 0 et 1, mettez-le entre guillemets

Code : Tout sélectionner

=SI.CONDITIONS(B1=13;"Bravo !";B1>14;"Non !";B1<13;"Non !")
AOo 4.1.15 et LibO 7.6.6.3 (x64) - Windows 10 Famille 22H2 (19045.3693) 64 bits
Avatar de l’utilisateur
Jean-Louis Cadeillan
GourOOu
GourOOu
Messages : 5753
Inscription : 02 janv. 2009 23:56

Re: la condition 'si.conditions'

Message par Jean-Louis Cadeillan »

Bonsoir,
Si tu es sous LibreOffice, modifie ta signature en conséquence. Sous Apache OpenOffice, la fonction SI.CONDITIONS() n'existe pas. Ce qui n'empêche pas d'utiliser des conditions multiples avec des SI() emboîtés.
Cordialement,
Jean-Louis
LibO 7.6.6.3 (x64 avec Java 1.8.0_411) et AOO 4.1.15 (avec Java x32 1.8.0_381), Windows 7 Édition Intégrale 64 SP1
Veroniky
Membre lOOyal
Membre lOOyal
Messages : 35
Inscription : 15 janv. 2024 14:40

Re: la condition 'si.conditions'

Message par Veroniky »

Michel JANZEF a écrit : 13 mars 2024 22:47 Bonsoir,
Dans votre formule

Code : Tout sélectionner

=SI.CONDITIONS(B2=13;1;B2>14;0;si B2<13;0)
vous faites référence à B2 au lieu de B1 et il y a un SI de trop
Bonjour, je n'allais pas joindre mon document au départ, j'avais effacé 'par bloc' et j'ai utilisé la touche retour sans regarder le micmac car au début, j'avais effectivement mis B2 sur la 1e ligne et corrigé sur la 2e (je procède comme ça pour voir quelles corrections j'apporte au fur et à mesure).
Merci pour l'aide, c'était vraiment facile mais je ne voyais pas 'le détail' qui me pourrissait la formule.
bonne journée.
LibreOffice 7.6.4.1 sous Windows 11
Veroniky
Membre lOOyal
Membre lOOyal
Messages : 35
Inscription : 15 janv. 2024 14:40

Re: la condition 'si.conditions'

Message par Veroniky »

Jean-Louis Cadeillan a écrit : 14 mars 2024 00:01 Bonsoir,
Si tu es sous LibreOffice, modifie ta signature en conséquence. Sous Apache OpenOffice, la fonction SI.CONDITIONS() n'existe pas. Ce qui n'empêche pas d'utiliser des conditions multiples avec des SI() emboîtés.
Cordialement,
Jean-Louis
Merci. Au début, j'utilisais les 2 mais je préférais certaines fonctionnalités sur LO et j'ai viré l'autre ;-) Corrigé.
Bonne journée.
LibreOffice 7.6.4.1 sous Windows 11
Avatar de l’utilisateur
Jean-Louis Cadeillan
GourOOu
GourOOu
Messages : 5753
Inscription : 02 janv. 2009 23:56

Re: la condition 'si.conditions'

Message par Jean-Louis Cadeillan »

Bonjour,
Version avec SI.CONDITIONS (pour LibO) :

Code : Tout sélectionner

=SI.CONDITIONS(B1=13;1;B1>=14;0;B1<13;0)
Version avec SI (pour AOO ou LibO):

Code : Tout sélectionner

=SI(B1=13;1;SI(B1>=14;0;SI(B1<13;0)))
Remarques :
  • les deux formules sont équivalents à un détail près : SI.CONDITIONS retourne #N/D (non défini) quand elle rencontre une valeur qui ne correspond à aucun test, alors que SI() retourne FAUX (c'est-à-dire 0), ce qui peut être un avantage ou un inconvénient.
  • j'ai remplacé B1>14 par B1>=14 pour donner suite à la question de Michel JANZEF à laquelle tu n'as pas répondu. Pour toi, qui connais la réponse, tu ne vois sans doute pas l'intérêt de préciser, mais pour ceux qui liront ce fil ensuite, c'est utile.
  • si pour 14 il fallait retourner 1 :
    Version avec SI.CONDITIONS (pour LibO) :

    Code : Tout sélectionner

    =SI.CONDITIONS(B1=13;1;B1=14;1;B1>14;0;B1<13;0)
    Version avec SI (pour AOO ou LibO) :

    Code : Tout sélectionner

    =SI(OU(B1=13;B1=14);1;SI(B1>14;0;SI(B1<13;0)))
  • la seconde formule, basée uniquement sur des SI() oblige à être plus vigilant sur la logique des valeurs : si ou sinon… enfin, c'est mon point de vue…
  • Cette logique conduit à penser que si la seule valeur conduisant à 1 est 13, les autres conduisant à 0, la formule la plus simple est :

    Code : Tout sélectionner

    =SI(B1=13;1;0)
    voire :

    Code : Tout sélectionner

    =B1=13
    (en reformatant la cellule en Standard, pas en Valeur logique)
  • si pour 14 il fallait retourner 1 :

    Code : Tout sélectionner

    =OU(B1=13;B1=14)
    (idem pour le format de cellule)
  • toute cette analyse se base sur l'hypothèse que B1 ne peut recevoir que des entiers… hypothèse non précisée.
Cordialement,
Jean-Louis
LibO 7.6.6.3 (x64 avec Java 1.8.0_411) et AOO 4.1.15 (avec Java x32 1.8.0_381), Windows 7 Édition Intégrale 64 SP1