Intégrer SI - ET - OU dans une même formule

Résolu
Charly -  
michel_m Messages postés 16602 Date d'inscription   Statut Contributeur Dernière intervention   -
Bonjour,

J'ai ABSOLUMENT besoin d'intégrer dans une seule et même formule les fonctions SI - ET - OU.

Voici à quoi ressemble ma formule pour le moment :

=SI(ET(datecalendrier=daterésa;heurecalendrier>=heuredébut;heurecalendrier<heurefin);SI(OU(matrice=1;matrice=2;matrice=3;matrice=4;matrice=5);"non disponible");"libre")

Tel quel, impossible de la faire fonctionner...Si je change un paramètre pour qu'il soit "faux" (pour tester ma formule), le résultat ne change pas!!!!

Quelqu'un aurait une solution?

A voir également:

5 réponses

tessel75
 
Bonsoir,
Pour répondre clairement faudrait-il encore qu'on comprenne ce que tu as voulu faire.
Je reprends en découpant ta simili équation.
La forme SI(...;...;...) se comprend Si(A vrai;Alors B vrai; B faux) ou encore Si(A vrai; B =1; sinon B=0)
Tu écris en clair:
SI ((datecalendrier=daterésa) ET (heurecalendrier>=heuredébut) ET (heurecalendrier < heurefin);
alors SI ((matrice=1) OU (matrice=2) OU (matrice=3) OU (matrice=4) OU (matrice=5); alors "non disponible" ; sinon "libre"))

Tu ajoutes:"Si je change un paramètre pour qu'il soit "faux" (pour tester ma formule), le résultat ne change pas!!!! "
Mais tu ne dis pas quel paramètre tu changes, ni quel résultat tu obtiens qui reste invariant alors qu'il ne devrait pas.
Moi, tel que c'est écrit, je comprends qu'il suffirait de mettre:
- soit datecalendrier <> daterésa
- soit heurecalendrier< heuredébut
- soit heurecalendrier >= heurefin
pour que la 1ère proposition soit fausse dans son ensemble et donc que TOUTE l'équation te donne pour résultat FAUX.
Par contre si la première proposition est exacte, alors il faut que toutes les propositions du type "Matrice=?" soient fausses en même temps, càd "matrice >5" pour que l'équation entière t'affiche "LIBRE".
Bonne suite.
0
Raymond PENTIER Messages postés 58990 Date d'inscription   Statut Contributeur Dernière intervention   17 354
 
Bonjour Charly.

Il manque un argument dans ta formule :
=SI(ET(test1;test2;test3);SI(OU(test4;test5;test6;test7;test8);vrai);faux)
qui est fausse, la syntaxe n'étant pas respectée ; il faut écrire :
=SI(ET(test1;test2;test3);SI(OU(test4;test5;test6;test7;test8);vrai2;faux2);faux1)
ou bien, selon la logique du raisonnement (que nous ignorons) :
=SI(ET(test1;test2;test3);vrai1;SI(OU(test4;test5;test6;test7;test8);vrai2;faux2))


C'est bien, la retraite ! Surtout aux Antilles ... :-)
☻ Raymond ♂
0
Charly
 
La logique, en français, est la suivante :
Si ma date sur ma fiche de réservation se trouve dans mon planning et que ma plage horaire de mon planning est supérieur ou égal a mon heure début et que ma plage horaire de mon planning est inférieur à mon horaire de fin et que ma matrice de mon planning contient 1 ou 2 ou 3 ou 4 ou 5 alors afficher "non disponible" sinon affiché "libre".

C'est un planning de réservation de salle de réunion. Sur une feuille de mon classeur Excel j'ai ma fiche de réservation et sur une autre feuille mon planning mensuel. Tout mon planning est automatisé, la personne n'a qu'à remplir sa fiche de réservation et cliquer sur un bouton pour enregistrer sa résa. Il ne me manque plus qu'à créer une alerte (d'où ma formule ci-dessus) pour que si la personne souhaite réserver un créneau déjà prit, "non disponible" s'affiche.

Si quelqu'un connait une macro,ça peut faire aussi l'affaire.
0
tessel75
 
Bonsoir,
"Si je change un paramètre pour qu'il soit "faux" (pour tester ma formule), le résultat ne change pas!!!! "
Mais tu ne dis pas quel paramètre tu changes, ni quel résultat tu obtiens qui reste invariant alors qu'il ne devrait pas.


Désolé, mais tu n'as pas répondu à la question. Pas plus que tu ne dis si nos remarques (de RaymondPentier que je salue, et moi-même) t'ont aidé à y voir plus clair et éventuellement avancer dans la recherche de la solution.
Tu nous donnes des précisions sur le contexte du problème mais aucun élément nouveau sur le problème lui-même.
A plus tard.
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
michel_m Messages postés 16602 Date d'inscription   Statut Contributeur Dernière intervention   3 314
 
Bonjour

Pour tenter d'^tre concret mets tes documents en pièce jointe:

pour joindre une pièce
mettre le classeur sans données confidentielles en pièce jointe sur
https://www.cjoint.com/
puis copier l'adresse du lien et la coller dans le message de réponse

0