Calcul dates jours fermés
Résolu/Fermé
Miramar26
Messages postés
6
Date d'inscription
dimanche 31 janvier 2016
Statut
Membre
Dernière intervention
10 février 2016
-
10 févr. 2016 à 19:36
Miramar26 Messages postés 6 Date d'inscription dimanche 31 janvier 2016 Statut Membre Dernière intervention 10 février 2016 - 10 févr. 2016 à 22:51
Miramar26 Messages postés 6 Date d'inscription dimanche 31 janvier 2016 Statut Membre Dernière intervention 10 février 2016 - 10 févr. 2016 à 22:51
A voir également:
- Calcul dates jours fermés
- Compte facebook suspendu 180 jours - Guide
- Calcul moyenne excel - Guide
- Comment restaurer les onglets fermés - Guide
- Compte instagram suspendu 180 jours - Guide
- Calcul charpente bois gratuit - Télécharger - Architecture & Déco
4 réponses
Vaucluse
Messages postés
26496
Date d'inscription
lundi 23 juillet 2007
Statut
Contributeur
Dernière intervention
1 avril 2022
6 416
Modifié par Vaucluse le 10/02/2016 à 20:11
Modifié par Vaucluse le 10/02/2016 à 20:11
Bonsoir
voyez ici si ça répond à votre demande
https://www.cjoint.com/c/FBktkCtKYJL
(nouveau lien suite modif fichier formule en A3)
crdlmnt
La qualité de la réponse dépend surtout de la clarté de la question, merci!
voyez ici si ça répond à votre demande
https://www.cjoint.com/c/FBktkCtKYJL
(nouveau lien suite modif fichier formule en A3)
crdlmnt
La qualité de la réponse dépend surtout de la clarté de la question, merci!
Miramar26
Messages postés
6
Date d'inscription
dimanche 31 janvier 2016
Statut
Membre
Dernière intervention
10 février 2016
10 févr. 2016 à 20:42
10 févr. 2016 à 20:42
Merci beaucoup. C'est exactement ça. Est-ce que vous pouvez svp commenter la formule pour en comprendre la logique ? Merci d'avance
Vaucluse
Messages postés
26496
Date d'inscription
lundi 23 juillet 2007
Statut
Contributeur
Dernière intervention
1 avril 2022
6 416
10 févr. 2016 à 21:03
10 févr. 2016 à 21:03
on va essayer
En A3, le 1° jour du mois à prendre en compte à partir de 1 et D1
=SI(JOURSEM(DATE(B1;D1;1);2)=7;DATE(B1;D1;1)+2;SI(JOURSEM(DATE(B1;D1;1);2)=1;DATE(B1;D1;1)+1;DATE(B1;D1;1)))
JOUSRSEM(Date;2) donne le rang du jour dans la semaine :lundi =1 jusqu'à dimanche =7 si vous utilisez le paramètre ;2) sinon, c'est le dimanche qui est 1 (à l'américaine)
DATE(ANNEE;MOIS;JOUR) donne la date correspondant aux valeurs indiquées
Donc la formule:
cherche le jour de la semaine de la date composée par l'année en B1, le N° de mois en D1 et le premier jour du mois (donc le 1)
Si ce jour est 7 donc dimanche, la formule rajoute 2 à la date pour obtenir le 1° mardi du mois
si ce jour est 1 donc lundi, la formule rajoute 1 à la date
si ce jour est autre, la date est placée directement
En A4 et suite sur le même principe de jour de semaine
=SI(A3="";"";SI(MOIS(A3+SI(OU(JOURSEM(A3;2)=1;JOURSEM(A3;2)=6);3;1))<>MOIS(A3);"";SI(OU(JOURSEM(A3;2)=1;JOURSEM(A3;2)=6);A3+3;A3+1)))
=SI(A3="";"";
si la date précédente est vide, renvoie vide
;SI(MOIS(A3+SI(OU(JOURSEM(A3;2)=1;JOURSEM(A3;2)=6);3;1))<>MOIS(A3);"";
si le mois de la date précédente est différent du mois de la date suivante calculée suivant le jour de la semaine (soit +1 pour jours ouvrables, +3 pour jours fermés)
renvoie vide
SI(OU(JOURSEM(A3;2)=1;JOURSEM(A3;2)=6);A3+3;A3+1)))
calcule la date à afficher en rajoutant 1 si la précédente tombe du mardi au vendredi
sinon rajoute 3 pour passer du samedi au mardi.
Mais en fait et après réflexion cette partie de la formule pourrait être simplifiée en ne considérant que le samedi (6) puisque le lundi (1) ne sera jamais dans les dates précédentes et donc cette fin de formule pourrait s'écrire seulement
.................;SI(JOURSEM(A3;2)=6;A3+3;A3+1)))
Voila. Espérant avoir été assez clair, ce n'est pas facile par écrit
bon courage
crdlmnt
En A3, le 1° jour du mois à prendre en compte à partir de 1 et D1
=SI(JOURSEM(DATE(B1;D1;1);2)=7;DATE(B1;D1;1)+2;SI(JOURSEM(DATE(B1;D1;1);2)=1;DATE(B1;D1;1)+1;DATE(B1;D1;1)))
JOUSRSEM(Date;2) donne le rang du jour dans la semaine :lundi =1 jusqu'à dimanche =7 si vous utilisez le paramètre ;2) sinon, c'est le dimanche qui est 1 (à l'américaine)
DATE(ANNEE;MOIS;JOUR) donne la date correspondant aux valeurs indiquées
Donc la formule:
cherche le jour de la semaine de la date composée par l'année en B1, le N° de mois en D1 et le premier jour du mois (donc le 1)
Si ce jour est 7 donc dimanche, la formule rajoute 2 à la date pour obtenir le 1° mardi du mois
si ce jour est 1 donc lundi, la formule rajoute 1 à la date
si ce jour est autre, la date est placée directement
En A4 et suite sur le même principe de jour de semaine
=SI(A3="";"";SI(MOIS(A3+SI(OU(JOURSEM(A3;2)=1;JOURSEM(A3;2)=6);3;1))<>MOIS(A3);"";SI(OU(JOURSEM(A3;2)=1;JOURSEM(A3;2)=6);A3+3;A3+1)))
=SI(A3="";"";
si la date précédente est vide, renvoie vide
;SI(MOIS(A3+SI(OU(JOURSEM(A3;2)=1;JOURSEM(A3;2)=6);3;1))<>MOIS(A3);"";
si le mois de la date précédente est différent du mois de la date suivante calculée suivant le jour de la semaine (soit +1 pour jours ouvrables, +3 pour jours fermés)
renvoie vide
SI(OU(JOURSEM(A3;2)=1;JOURSEM(A3;2)=6);A3+3;A3+1)))
calcule la date à afficher en rajoutant 1 si la précédente tombe du mardi au vendredi
sinon rajoute 3 pour passer du samedi au mardi.
Mais en fait et après réflexion cette partie de la formule pourrait être simplifiée en ne considérant que le samedi (6) puisque le lundi (1) ne sera jamais dans les dates précédentes et donc cette fin de formule pourrait s'écrire seulement
.................;SI(JOURSEM(A3;2)=6;A3+3;A3+1)))
Voila. Espérant avoir été assez clair, ce n'est pas facile par écrit
bon courage
crdlmnt
Miramar26
Messages postés
6
Date d'inscription
dimanche 31 janvier 2016
Statut
Membre
Dernière intervention
10 février 2016
>
Vaucluse
Messages postés
26496
Date d'inscription
lundi 23 juillet 2007
Statut
Contributeur
Dernière intervention
1 avril 2022
10 févr. 2016 à 22:50
10 févr. 2016 à 22:50
Merci beaucoup. C'est fort aimable de votre part. Je vous en suis très reconnaissant. Meilleures salutations.
Miramar
Miramar
JvDo
Messages postés
1978
Date d'inscription
mercredi 27 juillet 2005
Statut
Membre
Dernière intervention
28 septembre 2020
858
10 févr. 2016 à 22:19
10 févr. 2016 à 22:19
Bonsoir à tous,
Pour le 1er jour du mois,en B3, tu peux aussi utiliser :
et pour les autres :
je te laisse gérer les fin de mois soit avec des SI(), soit avec une MFC.
Cordialement
Pour le 1er jour du mois,en B3, tu peux aussi utiliser :
=SERIE.JOUR.OUVRE.INTL(DATE($B$1;$D$1;1)-1;1;2)
et pour les autres :
=SERIE.JOUR.OUVRE.INTL(B3;1;2)
je te laisse gérer les fin de mois soit avec des SI(), soit avec une MFC.
Cordialement
Miramar26
Messages postés
6
Date d'inscription
dimanche 31 janvier 2016
Statut
Membre
Dernière intervention
10 février 2016
10 févr. 2016 à 22:51
10 févr. 2016 à 22:51
Merci infiniment.
Miramar
Miramar