Calcul de jours entre deux dates

Je reviens sur le forum car je n’est toujours pas trouvé la solution à mon problème et sur un conseil un code VBA pourrai me donner la solution
J’ai de période exemple
du 01/01/2022 au 31/01/2022
j’ai un tableau de congé ou je rentre la date de début et de fin d’une période exemple
congé du 20/01/2022 au 23/01/2022
résultat 3 jours la c’est bon
mais si je mais la période exemple
20/01/2022 au 10/01/2022
le résultat est de 0 avec la formule somme.si.ens alors que sa devrait me donner 11 jours?
Voir pièce jointe
Si quelqu’un peu m’aider
En vous remerciant
Classeur1.xlsx (16,9 Ko)

Merci pour la réponse mais le soucis c’est que j’ai plusieurs critères, comme sur la pièce jointe.

Bonjour, j’ai réfléchi à ta problématique, il faut aussi tenir compte des jours fériés dans tes calculs de jours de congés, je te propose une solution dans le fichier joint, la table des jours fériés sera à mettre à jour pour 2023, les colonnes de calcul D et F peuvent être masquées bien sûr :wink:
Calcul sur dates.xlsx (12,7 Ko)

Avec un tableau et une toupie pour la mise à jour automatique des jours fériés
Calcul sur dates.xlsx (15,4 Ko)

Merci pour vos réponses c’est tout à fait çà
Cordialement

Bonjour
encore merci pour vos réponses, mais je cale encore un peu
Je vous joint mon fichier, normalement j’ai tout repris comme il faut mais sa me donne pas les bons résultat.
Pouvez vous me dire ou je me suis tromper.
Cordialement
TESXT.xlsx (16,7 Ko)

Bonjour,
Regarde tes formules en D18 et E18
Il ne faut pas mettre de «  » entre les chiffres, sinon ils sont considérés comme du texte

C’est super ton tableau avec les jours fériés automatiquement, je ne connais pas, qu’est-ce que tu appelles une toupie ?

Le plus simple serait de faire un tableau des périodes d’absences du salariés, max 10 lignes je pense, et un total sur les colonnes Nb jours en période et Nb jours hors période

La toupie, c’est le bouton qui t’affichera l’année, en cliquant vers le haut, tu passes de 2022 à 2021 et inversement vers le bas de 2022 vers 2023, actuellement le bouton est paramétré pour aller de 2020 jusqu’à 2050, un clic droit sur le bouton et tu vas dans les options de contrôle si tu veux modifier et la cellule prise en compte et le nombre d’années à prendre en compte

NB: dans mes jours fériés sont comptés le vendredi saint (vendredi avant pâques) et la St-Étienne, (26 décembre) étant en Alsace Moselle, nous avons deux jours fériés supplémentaires, un reliquat de l’époque du concordat, il te suffit de supprimer ces deux jours pour qu’ils ne soient plus pris en compte

D’aprés ce que je voie ca serai le fait d’avoir deux période différente qui me bloque

Heu non !
si tu enlèves les " " de tes chiffres voila ce que tu as

=SI.CONDITIONS(F21=5;1;F21=5,5;1;F21=6;1;F21=6,5;1;F21=7;1;F21=7,5;1;F21>7;0;F21<5;0)

Résultat

Je suis un peu perdu j’arrive à faire fonctionner la formule quand dans ma plage de de donnée " Debut_Periode" et « Fin_Periode » qu’une période par exemple du 01/01/2022 au 30/04/2022 mais des que je rajoute une période supplémentaire 01/11/2022 au 31/12/2022 sa plante

Alors pourquoi ne pas simplement faire 1 période du 01/05/2022 au 31/10/2022, comme cela tes deux périodes seront automatiquement exclue ou inclus, selon de comment tu ecriras ta formule !

Oui tu as raison j’ai aussi essayé sa fonctionne sur les congé pris à partir du 01/05/2022 mais se d’avant
sa me génère une erreur
=SI(ET(O5=« Debut_Avant »;P5=« Fin_Avant »);0;SI(ET(O5=« Debut_Avant »;P5=« Fin_Pendant »);NB.JOURS.OUVRES.INTL(Debut_Periode;K5;« 1 »;Table_Feriés);SI(ET(O5=« Debut_Pendant »;P5=« Fin_Pendant »);NB.JOURS.OUVRES.INTL(J5;K5;1;Table_Feriés);SI(ET(O5=« Debut_Pendant »;P5=« Fin_Après »);NB.JOURS.OUVRES.INTL(J5;Fin_Periode;1;Table_Feriés);SI(O5=« Debut_Après »;NB.JOURS.OUVRES.INTL(J5;K5;1;Table_Feriés);NB.JOURS.OUVRES.INTL(Debut_Periode;Fin_Periode;1;Table_Feriés))))))

Classeur111.xlsx (17,6 Ko)
C’est plus parlant

Re,
-1) la table des jours fériés n’est pas présente dans ton classeur
-2) Erreur sur ta formule en colonne Q
=SI(ET(O4=« Debut_Avant »;P4=« Fin_Avant »);0;SI(ET(O4=« Debut_Avant »;P4=« Fin_Pendant »);NB.JOURS.OUVRES.INTL(Debut_Periode;K4;« 1 »;Table_Feriés);SI(ET(O4=« Debut_Pendant »;P4=« Fin_Pendant »);NB.JOURS.OUVRES.INTL(J4;K4;1;Table_Feriés);SI(ET(O4=« Debut_Pendant »;P4=« Fin_Après »);NB.JOURS.OUVRES.INTL(J4;Fin_Periode;1;Table_Feriés);SI(O4=« Debut_Après »;NB.JOURS.OUVRES.INTL(J4;K4;1;Table_Feriés);NB.JOURS.OUVRES.INTL(Debut_Periode;Fin_Periode;1;Table_Feriés))))))

ARRETER de balancer des guillemets entre les chiffres et cela fonctionnera mieux
bonne formule pour Q4 à tirer vers le bas

=SI(ET(O4="Debut_Avant";P4="Fin_Avant");0;SI(ET(O4="Debut_Avant";P4="Fin_Pendant");NB.JOURS.OUVRES.INTL(Debut_Periode;K4;1;Table_Feriés);SI(ET(O4="Debut_Pendant";P4="Fin_Pendant");NB.JOURS.OUVRES.INTL(J4;K4;1;Table_Feriés);SI(ET(O4="Debut_Pendant";P4="Fin_Après");NB.JOURS.OUVRES.INTL(J4;Fin_Periode;1;Table_Feriés);SI(O4="Debut_Après";NB.JOURS.OUVRES.INTL(J4;K4;1;Table_Feriés);NB.JOURS.OUVRES.INTL(Debut_Periode;Fin_Periode;1;Table_Feriés))))))

et le fichier
Classeur111 (1).xlsx (21,2 Ko)

Re,
Ne vois tu pas les incoherences de la formule
F21=7 on met 1
F21=7,5 on met 1
F21>7 on met 0

En général, l’erreur, si on l’ecris on ne la vois pas, ca m’arrive aussi et alors on cherche toujours au mauvais endroit, il me faut souvent plusieurs jours avant de tomber dessus ! Et de me dire…bor…elle est la l’erreur !

Top, merci pour tes précisions :slight_smile: