Deux formules excel se contrarient

Bonjour,
Je suis en train de préparer un formulaire de demande de congé et j’ai un souci avec la formule “Nombre de jours pris” en H47 .

J’avais d’abord intégré que si la date de fin = la date de début alors 1 (=si(G42-D42;1) et ça marche mais
si la date de fin et la date de début sont vides le total est encore 1.

Alors j’ai rajouté =SI(G42-D42=0;0). Séparément ça fonctionne aussi.

Si je mets ces deux formules dans une même formule, le total est 1.

Quelqu’un pourrait me dire pourquoi SVP ?
Merci

Demande de congés 190305b.xlsm (32,1 Ko)

Bonjour Ikhoor,
En ajoutant: =SI(ET(D42=0;G42=0);0; en début de formule, cela doit fonctionner.
car dans le cas où les cellules D42 et G42 sont vide, le résultat affiché sera de 0,00
la formule devient:
=SI(ET(D42=0;G42=0);0;SI(G42=D42;1;SI(A40=VRAI;G42-D42-0,5;SI(A44=VRAI;G42-D42–0,5;SI(I40=VRAI;G42-D42–0,5;SI(I44=VRAI;G42-D42–0,5;NB.JOURS.OUVRES(D42;G42;Liste!$H$2:$H$7)))))))
Cordialement,
Lucky32

Bonjour Lucky32,

Ca fonctionne super bien. Merci.
Cependant, j’ai un autre souci avec les contraintes de 1/2 journées.
Si je sélectionne une contrainte du matin ou de l’après-midi du premier jour ou du dernier jour, la formule fonctionne.
Comme je dois prévoir tous les cas de figure, si je dis que je prends l’après-midi du premier jour(donc je travaille le matin) jusqu’à la matinée du dernier jour (je travaille l’après-midi), les 1/2 journées ne sont pas calculées.

=SI(ET(D42=0;G42=0);0;SI(G42=D42;1;SI(ET(G42=D42;A40=VRAI);G42-D42-0,5;SI(ET(G42=D42;A44=VRAI);G42-D42-0,5;SI(ET(G42=D42;I40=VRAI);G42-D42-0,5;SI(ET(G42=D42;I44=VRAI);G42-D42-0,5;SI(ET(A40=VRAI;I40=VRAI);G42-D42-1;SI(G42=D42;G42-D42±1;SI(A40=VRAI;G42-D42-1,5;SI(A44=VRAI;G42-D42-1,5;SI(H40=VRAI;G42-D42-1,5;SI(H44=VRAI;G42-D42-1,5;NB.JOURS.OUVRES(D42;G42;Liste!$H$2:$H$7)))))))))))))

Est-ce que j’ai trop contraintes dans une seule formule ou y a-t-il une erreur ?
Merci

Bonjour,
D’après ce que j’ai vu, je pense que si je coche une case le matin ou l’après midi, c’est que je travaille, donc dans ce cas la formule serait (à compléter si nécessaire):
=SI(ET(D42=0;G42=0);0;SI(ET(A40=VRAI;I44=VRAI);G42-D42;SI(ET(A44=VRAI;I40=VRAI);G42-D42;SI(ET(A40=VRAI;I40=VRAI);G42-D42;SI(ET(A44=VRAI;I44=VRAI);G42-D42;SI(OU(A40=VRAI;A44=VRAI);G42-D42+0,5;SI(OU(I40=VRAI;I44=VRAI);G42-D42+0,5;G42-D42+1)))))))
rajouter bien entendu les “JOURS.OUVRE” si besoin, en prévoyant les cases cochées ou non dans la logique.
Cordialement
Luc

Bonjour Luc,
La formule fonctionne mais je n’ai pas compris ou je dois intégrer les “JOURS.OUVRE”.
Si je les rajoute à la fin excel me dit que j’ai trop de contraintes pour cette fonction.
Faut-il le mettre après chaque condition ?
Merci

Ce sujet a été automatiquement fermé après 30 jours. Aucune réponse n’est permise dorénavant.