Calcul dates jours fermés

Résolu
Miramar26 Messages postés 6 Date d'inscription   Statut Membre Dernière intervention   -  
Miramar26 Messages postés 6 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour à tous,

J'aimerais créer un tableau mensuel avec dates, sans tenir compte des jours fermés du magasin, soit dimanche et lundi.

J'ai utilisé les fonctions joursem et date mais quand je recopie la formule, elle n'est pas incrémentée correctement. Quelqu'un a-t-il une idée ? Merci d'avance.




A voir également:

4 réponses

Vaucluse Messages postés 26496 Date d'inscription   Statut Contributeur Dernière intervention   6 438
 
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!
0
Miramar26 Messages postés 6 Date d'inscription   Statut Membre Dernière intervention  
 
Merci beaucoup. C'est exactement ça. Est-ce que vous pouvez svp commenter la formule pour en comprendre la logique ? Merci d'avance
0
Vaucluse Messages postés 26496 Date d'inscription   Statut Contributeur Dernière intervention   6 438
 
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
0
Miramar26 Messages postés 6 Date d'inscription   Statut Membre Dernière intervention   > Vaucluse Messages postés 26496 Date d'inscription   Statut Contributeur Dernière intervention  
 
Merci beaucoup. C'est fort aimable de votre part. Je vous en suis très reconnaissant. Meilleures salutations.
Miramar
0
JvDo Messages postés 1978 Date d'inscription   Statut Membre Dernière intervention   859
 
Bonsoir à tous,

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
0
Miramar26 Messages postés 6 Date d'inscription   Statut Membre Dernière intervention  
 
Merci infiniment.

Miramar
0