Nombre de jours ouvrés par mois entre 2 dates

Fermé
GBI - 18 mai 2009 à 15:56
 Raton-Kärcher - 3 févr. 2011 à 00:06
Bonjour,
Je viens de consulter le forum et j'ai trouvé une réponse presque adéquate à ma problématique.

Je souhaites compter le nombre de jours entre 2 dates pour chaque mois sous Excel 2007
exemple : Un contrat débute le 15/01 et fini le 12/04.
Combien ais-je de jours ouvrés pour le mois de Janvier, combien en ais-je pour le mois de Février, etc.

j'ai trouvé une réponse partielle sur le forum, voir ci-après (cette formule me permet d'obtenir le nombre de jours, je voudrais exactement la meme chose mais avec les jours ouvrés, qlq aurait-il une idée de la retranscription à effectuer)


Quote de ce site:
http://www.commentcamarche.net/forum/affich 3268427 compter le nombre d un jour entre 2 dates

Je me suis posé la même question et voilà comment je m'en suis sorti

Dans mon tableau Excel
Date de début = colonne L
Date de fin = colonne M

Janvier : Colonne Q
Février: colonne R
Mars : colonne ?? :) S etc...

Tout d'abord j'ai mis en ligne 1 le 1er jour de chaque mois et ligne 2 le dernier jour du mois
Q1 = 01/01/2006
Q2 = 31/01/2006

(il suffit de les mettre en janvier et février et de faire glisser pour avoir premier et dernier dans chaque colonne suivante)

Ma base commence donc en ligne 3 et j'ai tapé la formule suivante en cellule Q3:
=MAX(SI($L3-Q$1<0;MIN(($M3-Q$1+1);Q$2-Q$1+1);SI($L3-Q$2>0;0;MIN(Q$2-$L3+1;$M3-$L3+1)));0)

Pour le reste du tableau copier/coller

Explication:
SI($L3-Q$1<0 : si date de début est inférieur au premier jour du mois

VRAI: MIN(($M3-Q$1+1);Q$2-Q$1+1): min de date fin -1er jour du mois et du nombre de jours dans le mois.
Ex: si date de fin = 16/02/06. En janvier Date fin -1er jour = 63, nb jour janvier = 31. la formule retourne 31

FAUX: SI($L3-Q$2>0: si date de début> dernier jour du mois:

VRAI: aucun jour dans le mois voulu donc 0 (ex date de début 16/02/06, en janvier 0 jours)

FAUX: MIN(Q$2-$L3+1;$M3-$L3+1))): mini de dernier jour du mois - date de début +1 ; date fin - date de début +1
Ex si début 04/02/06 et fin 16/02/06 formule retourne 13 jours

J'ai rajouté autour de ça Max (Formule; 0) pour éviter les nb jours négatifs car si la date de début est inférieure 1er jour du mois mais que la date de fin est aussi inférieure au 1er jour du mois, le calcul se fait en négatif (ce qui ne nous intéresse pas) donc dans ce cas: 0

Voilà, j'espère avoir été suffisamment clair."
A voir également:

17 réponses

Mike-31 Messages postés 18313 Date d'inscription dimanche 17 février 2008 Statut Contributeur Dernière intervention 21 avril 2024 5 073
18 mai 2009 à 16:15
Salut,

Pour compter les jours ouvrés entre deux dates, saisis en A1 la date de début et en B1 la date de fin

la formule est
=NB.JOURS.OUVRES(A1;B1)

Pour inclure les jours fériés, saisir les dates sur la plage D1 à D10

=NB.JOURS.OUVRES(A1;B1;D1:D10)

Pour que cette fonction marche il faut aller dans Outils/Macro Complémentaire et cocher Utilitaire d'analyse

A+
Mike-31

Un problème sans solution est un problème mal posé  (Einstein)
5
Mike-31 Messages postés 18313 Date d'inscription dimanche 17 février 2008 Statut Contributeur Dernière intervention 21 avril 2024 5 073
18 mai 2009 à 16:29
Re,

Pas plus compliqué, en A1 date de début 15/1/09 en B1 date fin de mois 31/1/09
en A2 date 1/2/09 en B2 date fin de mois 28/2/09 etc
en D1 et D20 toutes les dates fériés de l'année autre que Samedi et dimanche qui sont déjà filtrées par la formule
dans une cellule vide sur la ligne 1 tu colles la formule et tu incrémentes vers le bas ce qui te donnera le nombre de jours ouvrés par mois, il te reste à faire la somme avec une formule =SOMME(F1:F12)

plus complexe il est possible de mettre tout dans une formule à rallonge qui risque être plus difficile pour toi

A+
Mike-31

Un problème sans solution est un problème mal posé  (Einstein)
1
Merci de cette réponse rapide, cependant elle est malheureusement incomplète :(
Mon problème n'est pas uniquement de compter le nombre de jours ouvrés entre 2 dates mais de le faire pour chaque mois compris entre ses deux dates.
Si mon contrat débute le 15 janvier et se fini le 23 Avril je voudrais connaitre pour le mois de Janvier le nombre de jours ouvrés et ainsi de suite jusqu'à l'échéance du contrat
0
je dois utiliser cette formule pour près de 200 contrats, ta solution est TRES fastidieuse et chronophage (si j'ai bien compris)
"plus complexe il est possible de mettre tout dans une formule à rallonge"
J'aime bien les formules à rallonge :D
0

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

Posez votre question
Mike-31 Messages postés 18313 Date d'inscription dimanche 17 février 2008 Statut Contributeur Dernière intervention 21 avril 2024 5 073
18 mai 2009 à 17:43
Re,

Tu te compliques, dans une plage exemple D1 à D20 tu rentres les dates des jours fériés qui te servieront pour toutes tes formules, si par exemple en A1 tu as la date de début, en B2 la date de fin pour le premier contrat,

sur la ligne 1 dans une cellule vide exemple F1 tu colles cette formule qui te donnera le nombre de jours ouvrés entre ces deux dates

=NB.JOURS.OUVRES(A1;B1;$D$1:$D$20)

ensuite, si tu as un contrat par ligne il te suffit d'incrémenter cette formule vers le bas. Pour incrémenter la formule, clic sur la cellule contenant la formule, tu remarqueras en bas à droite de cette formule un petit carré, clic gauche dessus et sans lacher faire glisser cette cellule jusqu'en bas de ta sélection, c'est tout ça prend 10 secondes et tous tes contrats sont renseignés.

Si tu n'y arrives pas je te ferai un petit fichier exemple


A+
Mike-31

Un problème sans solution est un problème mal posé  (Einstein)
0
michel_m Messages postés 16603 Date d'inscription lundi 12 septembre 2005 Statut Contributeur Dernière intervention 16 décembre 2023 3 303
18 mai 2009 à 18:00
Bonjour GBI, Mike

question à 100 €:
Sur combien d'années doit on calculer?
Si c'est l'année civile du début de contrat, j'ai trouvé une solution avec des formules à rallonges ;-)
https://www.cjoint.com/?fsr5V35vHT

Sinon, 2 années: pas triste
sinon >2 années: voir Hôpital psychiatrique (ou passer enfin en CDI, camarade :-p)

0
A l'heure actuelle j'ai:

V2:AG2 = Nom des mois
V3:AG3 = Date de début du mois
V4:AG4 = Date de fin de mois
N = Date de début du mois contrat
O = Date de fin du mois contrat

Pour V5 j'obtiens donc:

=SI(V$4<$N5;"";SI($N5="";"";SI($N5<V$4;(NB.JOURS.OUVRES($N5;V$4;$R$42:$R$50));NB.JOURS.OUVRES(V$4;V$3;$R$42:$R$50))))

Cette formule me permet d'identifier le nombre de jours ouvrés pour le premier mois du contrat mais me compte les mois suivant le total du nombre de jours ouvrés depuis la date du début de contrat.
Exemple:
Date de début du contrat: 25/02/09
Date de fin du contrat : 29/05/09
Nombre de jours ouvrés:
Janvier: 0
Février : 3
Mars : 25
Avril : 46
Mai : 64
etc.

Il y a donc un problème dans ma formule puisque pour le mois d'avril par exemple il devrait me mentionner la meme valeur que:
=nb.jours.ouvres(01/04/09;30/04/09)
et non pas 46 jours ...

Des idées lumineuses (autre que la poignée de recopie ^^) ?
0
Bonsoir Michel,
Merci de ta réponse qui est modulable à mon problème, meme si je dois rajouter un champ pour chaque facture c'est très facilement recopiable !
Je vais essayer de suite ; )
Merci !
0
michel_m Messages postés 16603 Date d'inscription lundi 12 septembre 2005 Statut Contributeur Dernière intervention 16 décembre 2023 3 303
18 mai 2009 à 18:58
Re tous les 2,
et voici pour 2 années civiles...
Pour + il "suffit" d'allonger la zone nommée ferie
https://www.cjoint.com/?fss4fEIlO2

marrants, ces petits problèmes, j'adore (chuis maso)
0
Mike-31 Messages postés 18313 Date d'inscription dimanche 17 février 2008 Statut Contributeur Dernière intervention 21 avril 2024 5 073
18 mai 2009 à 19:05
Re,

Je ne vois pas la complication, regardes l'exemple

https://www.cjoint.com/?fstdIL5hVg

et pour automatiser l'ensemble, les jours fériés pourraient etre calculé automatiquement dans une colonne à partir de l'année saisie dans une cellule

A+
Mike-31

Un problème sans solution est un problème mal posé  (Einstein)
0
Guillaume ... Messages postés 4 Date d'inscription mardi 19 mai 2009 Statut Membre Dernière intervention 19 mai 2009
19 mai 2009 à 10:10
J'avance dans la résolution de mon problème et je vous remercie de votre aide précieuse.

Mike-31, je vais utiliser ton fichier cijoint pour essayer de résoudre la nouvelle problématique : Pouvoir utiliser ce tableau pour gérer 200 factures ^^
Je vous présenterai le résultat
Encore merci de ton aide

Michel : Merci de ton aide, cependant je pense que tu as mal compris ma problématique qui est de compter le nombre de jours ouvrés par mois d'une facture s'étalant sur plusieurs mois et non pas le nombre de jours ouvrés total
0
Mike-31 Messages postés 18313 Date d'inscription dimanche 17 février 2008 Statut Contributeur Dernière intervention 21 avril 2024 5 073
19 mai 2009 à 10:55
Salut,

Pas gentil du tout ton raisonnement, on essaye de t’aider avec des explications de ta part plutôt fragmentées et pour remercier les bénévoles que nous sommes tes reconnaissances sont plutôt décourageantes.

A+
Mike-31

Un problème sans solution est un problème mal posé  (Einstein)
0
michel_m Messages postés 16603 Date d'inscription lundi 12 septembre 2005 Statut Contributeur Dernière intervention 16 décembre 2023 3 303
19 mai 2009 à 10:25
je pense que tu as mal compris ma problématique qui est de compter le nombre de jours ouvrés par mois d'une facture s'étalant sur plusieurs mois et non pas le nombre de jours ouvrés total

Tu te moques de moi ou quoi?

Désespérant des gens comme toi
0
Guillaume ... Messages postés 4 Date d'inscription mardi 19 mai 2009 Statut Membre Dernière intervention 19 mai 2009
19 mai 2009 à 11:09
Oups, je suis désolé, j'ai interverti les pseudos :(
Et je ne voulais pas que mes propos soient mal interprétés, je suis extremement reconnaissant de votre aide !!!
0
Guillaume ... Messages postés 4 Date d'inscription mardi 19 mai 2009 Statut Membre Dernière intervention 19 mai 2009
19 mai 2009 à 11:18
Voici l'échantillon sur lequel je travaille à l'heure actuelle (dsl pour les informations fragmentées)
https://www.cjoint.com/?ftlo6BmsaH
0
michel_m Messages postés 16603 Date d'inscription lundi 12 septembre 2005 Statut Contributeur Dernière intervention 16 décembre 2023 3 303
19 mai 2009 à 12:53
Re,

ok, n'en parlons plus...

Ton fichier est illisible car en xml 2007...
merci de joindre une version xls (format XL<2007)

Nota: "attention au cas où" j'ai inclus le lundi de Pentecôte ( la Saint Raffarin ;-) ...) dans les jours fériés
0
Guillaume ... Messages postés 4 Date d'inscription mardi 19 mai 2009 Statut Membre Dernière intervention 19 mai 2009
19 mai 2009 à 14:38
0
eljaouhari.lamyaa
14 sept. 2010 à 11:55
je sais, pas
0
Raton-Kärcher
3 févr. 2011 à 00:06
Salut

Je sais pas si tu en as encore besoin.
Sous excel je n'ai pas trouvé de formule par contre j'ai fait un test logique qui pour le moment marche à merveille.
0