[Résolu] Si, ou et et imbriqués

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.
fcka
Membre OOrganisé
Membre OOrganisé
Messages : 53
Inscription : 02 févr. 2018 22:15

[Résolu] Si, ou et et imbriqués

Message par fcka »

Bonjour,
Je bloque sur une formule malgré les explications claires qui trouvées sur le site (https://forum.openoffice.org/fr/forum/v ... A9#p285811).

Voici mon problème : j'essaie de calculer une nouvelle date en fonction de plusieurs cas de figure.
Au départ j'ai 3 dates :
la date initiale (DI);
la date de refus (DR);
la date de refus tacite (DRT).

Je voudrai trouver une formule qui permettent de faire :
si DR < DRT et SI mois.decaler (DR;1) > DI alors mois.decaler(DR;1) sinon DI ;
si DR> DRT et si mois.decaler (DRT;1) >DI , alors mois.decaler(DRT;1) sinon vide.

Bref dans mon cas, les solutions possibles sont au nombre de 3 alors que dans l'exemple que j'ai trouvé (cf lien ci-dessus), il y a deux solutions.
Si quelqu'un peut m'aider.
Merci

Fcka

libreoffice version 5.0.6.3.0 (travail)
windows 7 pro
Dernière modification par fcka le 08 oct. 2018 21:16, modifié 1 fois.
HOME : (car pb avec base/postgresl avec version plus récente)
libre office Version: 6.0.6.2 (x64)
Win 8.1

DESK: (imposé)
libre office Version: 5 (x64)
Win 7
Avatar de l’utilisateur
Jean-Louis Cadeillan
GourOOu
GourOOu
Messages : 5734
Inscription : 02 janv. 2009 23:56

Re: Si, ou et et imbriqués

Message par Jean-Louis Cadeillan »

Bonjour,
fcka a écrit :les solutions possibles sont au nombre de 3
Alors pourquoi tu en proposes 4 ?
  • mois.decaler(DR;1)
  • DI
  • mois.decaler(DRT;1)
  • vide
Je te propose néanmoins une solution de deux SI() imbriqués :

Code : Tout sélectionner

=SI(ET(DR<DRT;MOIS.DECALER(DR;1)>DI);MOIS.DECALER(DR;1);SI(ET(DR>DRT;MOIS.DECALER(DRT;1)>DI);MOIS.DECALER(DRT;1);DI))
... mais j'ai exclu la solution "vide".
Cordialement,
Jean-Louis
LibO 7.6.5.2 (x64 avec Java 1.8.0_401) et AOO 4.1.15 (avec Java x32 1.8.0_381), Windows 7 Édition Intégrale 64 SP1
fcka
Membre OOrganisé
Membre OOrganisé
Messages : 53
Inscription : 02 févr. 2018 22:15

Re: Si, ou et et imbriqués

Message par fcka »

bonjour,
merci pour votre réponse rapide (et effectivement j'ai besoin de 4 sortie possibles).
votre formule fonctionne mais avec 3 sorties, mais il manque par la sortie "vide" (arfff)
Or, j'en ai besoin pour donner une cohérence visuelle par rapport aux autres lignes de mon tableau...
je continue à creuser, merci encore.
fcka
HOME : (car pb avec base/postgresl avec version plus récente)
libre office Version: 6.0.6.2 (x64)
Win 8.1

DESK: (imposé)
libre office Version: 5 (x64)
Win 7
Jeff
GourOOu
GourOOu
Messages : 9608
Inscription : 18 sept. 2006 09:40
Localisation : France

Re: Si, ou et et imbriqués

Message par Jeff »

Bonjour à tous,

Je ne comprends pas très bien où tu veux en venir :aie:
fcka a écrit :si DR < DRT et SI mois.decaler (DR;1) > DI alors mois.decaler(DR;1) sinon DI ;
si DR> DRT et si mois.decaler (DRT;1) >DI , alors mois.decaler(DRT;1) sinon vide.
Ce que l'on peut résumer de la façon suivante :
  • si Test1 est VRAI alors Résultat1 sinon Résultat2 ;
    si Test2 est VRAI , alors Résultat3
    sinon vide.
Il y a là à mon avis 2 formules SI distinctes.

Pour avoir une seule formule à base de SI, il faut tenir un raisonnement du type :
  • si Test1 est VRAI alors Résultat1
    sinon si Test2 est VRAI Résultat2
    sinon si Test3 est VRAI alors Résultat3
    sinon vide.
A +
Avatar de l’utilisateur
micmac
RespOOnsable forum
RespOOnsable forum
Messages : 9225
Inscription : 28 août 2010 08:45

Re: Si, ou et et imbriqués

Message par micmac »

Bonjour,
[b][color=#404080]fcka[/color][/b] a écrit :pour donner une cohérence visuelle par rapport aux autres lignes de mon tableau
Alors fournissez votre document. Les volontaires quoi vous aident pourront y voir plus clair.
Comment joindre un fichier
Comment dépersonnaliser un document
Touche Ctrl de Windows = touche cmd⌘ sur Mac
Outils > Options sur Windows = OpenOffice > Préférences sur Mac
Avatar de l’utilisateur
Jean-Louis Cadeillan
GourOOu
GourOOu
Messages : 5734
Inscription : 02 janv. 2009 23:56

Re: Si, ou et et imbriqués

Message par Jean-Louis Cadeillan »

Bonsoir,
Tu as 3 variables, que tu compares 2 à 2 :
  • DR à DRT, donc trois comparaisons : DR > DRT, DR < DRT et DR = DRT
  • DR à DI, donc trois comparaisons : DI - DR < 1m, DI - DR > 1m et DI - DR = 1m
  • DRT à DI, donc trois comparaisons : DI – DRT < 1m, DI – DRT > 1m et DI – DRT = 1m
Si on envisage toutes les possibilités, il faut croiser ces trois comparaisons, ce qui fait 3 x 3 x 3 = 27 cas de figure. Si on s'en tient aux règles que tu as fixées, il y a ambiguïté : pour chaque cas de figure, tes règles aboutissent à deux réponses possibles :
fcka_20180910_JLC01.jpg
Dans ce tableau ta première règle aboutit à une réponse séparée par --- de celle donnée par ta deuxième règle.
Il faut donc non seulement que nous nous fournisses un fichier, mais aussi que tu nous dises toutes les règles de réponses et/ou que tu affines ton analyse.
Cordialement,
Jean-Louis
Vous ne pouvez pas consulter les pièces jointes insérées à ce message.
LibO 7.6.5.2 (x64 avec Java 1.8.0_401) et AOO 4.1.15 (avec Java x32 1.8.0_381), Windows 7 Édition Intégrale 64 SP1
fcka
Membre OOrganisé
Membre OOrganisé
Messages : 53
Inscription : 02 févr. 2018 22:15

Re: Si, ou et et imbriqués

Message par fcka »

bonsoir,
tout d'abord merci pour toute l'aide que vous m'apportez.
ce matin, je pensais être près du but mais au fil des échanges j'ai bien compris que l'exemple documenté que j'avais trouvé sur le forum avec des Si, des Et et des OU imbriqués ne fonctionnerait pas dans mon cas...
Ce soir, Jean-Louis Cadeillan montre toute la complexité des cas de figure dont certains m'avaient échappé (les égalités notamment) même si je précise que dans mon travail, DI ne peut pas être vide.

ci-joint mon fichier j'ai laissé l'essentiel (le reste n'est pas utile et nominatif).

à l'heure qu'il est je pense que je vais tenter quelque chose de pragmatique en fusionnant les 2 cellules (cf mon fichier) afin de tenter de simplifier les choses.

fcka
Vous ne pouvez pas consulter les pièces jointes insérées à ce message.
HOME : (car pb avec base/postgresl avec version plus récente)
libre office Version: 6.0.6.2 (x64)
Win 8.1

DESK: (imposé)
libre office Version: 5 (x64)
Win 7
Avatar de l’utilisateur
njhub
Membre enthOOusiaste
Membre enthOOusiaste
Messages : 495
Inscription : 18 juin 2017 05:43
Localisation : 976

Re: Si, ou et et imbriqués

Message par njhub »

Bonjour fcka,

voyez si le fichier joint vous convient
en G32

Code : Tout sélectionner

=SI(E32>E34;"";SI(ET(E32<E34;MOIS.DECALER(E32;1)>E8);MOIS.DECALER(E32;1);E8))
en G34

Code : Tout sélectionner

=SI(ET(E32>E34;MOIS.DECALER(E34;1)>E8);MOIS.DECALER(E34;1);"")
en G57

Code : Tout sélectionner

=SI(ET(E57>1;MOIS.DECALER(E57;1)>E8);MOIS.DECALER(E57;1);E8)
en G59

Code : Tout sélectionner

=SI(E57>1;"";SI(ET(E59<E61;MOIS.DECALER(E59;1)>E8);MOIS.DECALER(E59;1);SI(ET(E59>E61;MOIS.DECALER(E61;1)>E8);MOIS.DECALER(E61;1);E8)))
fcka-date_f.ods
Vous ne pouvez pas consulter les pièces jointes insérées à ce message.
LibreOffice 7.5.9.2.M1 (x64) FR-YT 05/12/23
OS : Windows 11.0
fcka
Membre OOrganisé
Membre OOrganisé
Messages : 53
Inscription : 02 févr. 2018 22:15

Re: Si, ou et et imbriqués

Message par fcka »

bonjour,
merci pour votre aide, mais vos formules et les miennes ne permettent pas d'aboutir.
je continue à chercher .... :aie:
ci-joint mon fichier à ce jour (cf commentaire en orange)
fcka
Vous ne pouvez pas consulter les pièces jointes insérées à ce message.
HOME : (car pb avec base/postgresl avec version plus récente)
libre office Version: 6.0.6.2 (x64)
Win 8.1

DESK: (imposé)
libre office Version: 5 (x64)
Win 7
Avatar de l’utilisateur
OOotremer971
ManitOOu
ManitOOu
Messages : 2744
Inscription : 16 avr. 2010 13:31

Re: Si, ou et et imbriqués

Message par OOotremer971 »

Bonjour,

Pas le temps d'approfondir une réflexion sur ton fichier, désolé :? mais juste en passant, en G54 (Err:508), à la place de :

Code : Tout sélectionner

SI(OU(ESTVIDE(E43;E45;E50;E52))
j’essayerai un truc du genre :

Code : Tout sélectionner

SI(OU(ESTVIDE(E43);ESTVIDE(E45);ESTVIDE(E50);ESTVIDE(E52))
un peu plus conforme à la bonne syntaxe requise dans la fonction OU() avec ESTVIDE() :idea:

@+
En principe, toujours à jour des dernières versions dites stables
AOO
LibreOffice
Debian 10 et 11
fcka
Membre OOrganisé
Membre OOrganisé
Messages : 53
Inscription : 02 févr. 2018 22:15

Re: Si, ou et et imbriqués

Message par fcka »

bonsoir,
j'ai repris le cas 2 de mon tableau.
je bloque toujours sur une formule (case violette):

je voudrai faire :

Code : Tout sélectionner

SI(ESTVIDE(E16)) ; "" ; SI (OU(ESTVIDE(E31); ESTVIDE(E36))); ""; SI(ET(E31<E38; E38>E8); E38; SI(ET(E31<E38; E38<E8); E8; SI(ET(E31>E38; E38>E8); E31; SI(ET(E31<E38; E38<E8); E8; SI(ET(E36<E38;E36>E8));E36; E8))))
mais cela ne marche pas. :fou:
calc me renvoie une erreur 501 et tronque ma formule.

si quelqu'un a une idée. merci d'avance.
Vous ne pouvez pas consulter les pièces jointes insérées à ce message.
HOME : (car pb avec base/postgresl avec version plus récente)
libre office Version: 6.0.6.2 (x64)
Win 8.1

DESK: (imposé)
libre office Version: 5 (x64)
Win 7
Avatar de l’utilisateur
OOotremer971
ManitOOu
ManitOOu
Messages : 2744
Inscription : 16 avr. 2010 13:31

Re: Si, ou et et imbriqués

Message par OOotremer971 »

Bonjour,

Trois parenthèses mal placées. Ça devrait le faire comme ça :

Code : Tout sélectionner

=SI(ESTVIDE(E16);"";SI(OU(ESTVIDE(E31);ESTVIDE(E36));"";SI(ET(E31<E38;E38>E8);E38;SI(ET(E31<E38;E38<E8);E8;SI(ET(E31>E38; E38>E8);E31;SI(ET(E31<E38;E38<E8);E8;SI(ET(E36<E38;E36>E8);E36;E8)))))))
mais je n'ai pas vérifié si ta formule est correcte. J'ai juste mis les parenthèses aux bons endroits.

@+
En principe, toujours à jour des dernières versions dites stables
AOO
LibreOffice
Debian 10 et 11
fcka
Membre OOrganisé
Membre OOrganisé
Messages : 53
Inscription : 02 févr. 2018 22:15

Re: Si, ou et et imbriqués

Message par fcka »

bonjour,
j'y suis peut-être enfin arrivé... :D

par contre, si quelqu'un peut me conseiller pour cacher totalement mes cases à cocher, je suis preneur.

je remercie encore tous ceux qui m'ont aidé;

fcka
Vous ne pouvez pas consulter les pièces jointes insérées à ce message.
HOME : (car pb avec base/postgresl avec version plus récente)
libre office Version: 6.0.6.2 (x64)
Win 8.1

DESK: (imposé)
libre office Version: 5 (x64)
Win 7
Avatar de l’utilisateur
OOotremer971
ManitOOu
ManitOOu
Messages : 2744
Inscription : 16 avr. 2010 13:31

Re: Si, ou et et imbriqués

Message par OOotremer971 »

Bonjour,

Ce sujet, comme sont titre l'indique, traite de l'imbrication des fonctions SI() Et() et OU() et semble avoir trouvé une réponse satisfaisante permettant de le clôturer comme résolu. Suivre ce lien pour voir comment faire : https://forum.openoffice.org/fr/forum/v ... f=1&t=3299
fcka a écrit :si quelqu'un peut me conseiller pour cacher totalement mes cases à cocher,
Nouvelle question, nouveau sujet !
Merci d'ouvrir un nouveau sujet en section Macros et API du forum en respectant le balisage recommandé pour cette section.

@+
En principe, toujours à jour des dernières versions dites stables
AOO
LibreOffice
Debian 10 et 11