Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

  1. #1
    Futur Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    février 2013
    Messages
    11
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Seine Maritime (Haute Normandie)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Santé

    Informations forums :
    Inscription : février 2013
    Messages : 11
    Points : 9
    Points
    9

    Par défaut Nombres de jours (lundi, mardi..) d'un mois précis sur une période

    Bonjour,

    Je suis en train de travailler sur un fichier dans le cadre de mon travail, sur lequel on retrouve des dates de fermetures d'un service.

    J'aimerais, dans un tableau en dessous, calculer le nombre de jours (lundi, mardi...) hors jours fermés pendant ces périodes, et tout ça par mois.
    Je maîtrise la formule NB.JOURS.OUVRES pour avoir le nombre de jours pour les différents mois, ou pour les périodes. Mais là où je bloque c'est pour associer la formule NB.JOURS.OUVRES des périodes de fermetures au seul mois concerné.

    Je vous joint un extrait du fichier pour plus de compréhension..

    Merci par avance pour votre aide
    Fichiers attachés Fichiers attachés

  2. #2
    Expert confirmé
    Homme Profil pro
    Responsable des études
    Inscrit en
    juillet 2014
    Messages
    2 120
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ardennes (Champagne Ardenne)

    Informations professionnelles :
    Activité : Responsable des études
    Secteur : Enseignement

    Informations forums :
    Inscription : juillet 2014
    Messages : 2 120
    Points : 4 498
    Points
    4 498

    Par défaut

    Bonjour,

    Si j'ai bien compris, en utilisant l'aide:
    Syntaxe
    NB.JOURS.OUVRES(date_début, date_fin, [jours_fériés])La syntaxe de la fonction NB.JOURS.OUVRES contient les arguments (argument : valeur qui fournit des informations à une action, un événement, une méthode, une propriété, une fonction ou une procédure.) suivants :

    date_début Obligatoire. Date qui représente la date de début.
    date_fin Obligatoire. Date qui représente la date de fin.
    jours_fériés Facultatif. Représente une plage facultative d’une ou de plusieurs dates à exclure du calendrier des jours ouvrés, comme les jours fériés ou d’autres jours contractuellement chômés. La liste peut être soit une plage de cellules contenant les dates, soit une constante matricielle (matrice : permet de créer des formules uniques permettant d’obtenir plusieurs résultats et qui agissent sur un groupe d’arguments répartis dans des lignes et des colonnes. Une plage matricielle partage une même formule tandis qu’une constante matricielle est un groupe de constantes qui sert d’argument.) des numéros de série qui représentent les dates.
    Je pense qu'on peut utiliser le paramètre jours_fériés pour renseigner tes jours de fermeture

    Exemple pour ce mois de janvier avec une fermeture la semaine prochaine (du 14/01/2019 au 18/01/2019)
    Renseigne ces dates dans une plage, B1 à B5 par exemple puis utilise la formule: =NB.JOURS.OUVRES("01/01/2019";"31/01/2019";B1:B5)
    J'aimerais bien aller vivre en Théorie, car en Théorie tout se passe bien.

  3. #3
    Futur Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    février 2013
    Messages
    11
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Seine Maritime (Haute Normandie)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Santé

    Informations forums :
    Inscription : février 2013
    Messages : 11
    Points : 9
    Points
    9

    Par défaut

    Merci pour cette réponse, mais justement, l'idée était de se contenter de la date de début et de fin de la période de fermeture. C'est possible d'utiliser la formule sans inscrire chaque date de fermeture dans une plage?

    Merci

  4. #4
    Expert confirmé
    Homme Profil pro
    Responsable des études
    Inscrit en
    juillet 2014
    Messages
    2 120
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ardennes (Champagne Ardenne)

    Informations professionnelles :
    Activité : Responsable des études
    Secteur : Enseignement

    Informations forums :
    Inscription : juillet 2014
    Messages : 2 120
    Points : 4 498
    Points
    4 498

    Par défaut

    Oui c'est possible:

    =NB.JOURS.OUVRES(date_deb_mois;date_fin_mois)-NB.JOURS.OUVRES(date_deb_fermeture;date_fin_fermeture)avec mon exemple:
    =NB.JOURS.OUVRES("01/01/2019";"31/01/2019")-NB.JOURS.OUVRES("14/01/2019";"18/01/2019")
    J'aimerais bien aller vivre en Théorie, car en Théorie tout se passe bien.

  5. #5
    Futur Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    février 2013
    Messages
    11
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Seine Maritime (Haute Normandie)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Santé

    Informations forums :
    Inscription : février 2013
    Messages : 11
    Points : 9
    Points
    9

    Par défaut

    Oui, du coup cet exemple marche pour ce cas là, mais j'ai des périodes de fermetures à cheval sur 2 mois, par exemple 15/01/2019-05/02/2019
    et du coup, j'aimerais faire ressortir, par exemple, que les lundis fermés pour le mois de janvier uniquement.

    Merci beaucoup

  6. #6
    Rédacteur

    Homme Profil pro
    Formateur, développeur et consultant Excel, Access, Word et VBA
    Inscrit en
    janvier 2010
    Messages
    8 781
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Formateur, développeur et consultant Excel, Access, Word et VBA

    Informations forums :
    Inscription : janvier 2010
    Messages : 8 781
    Points : 20 762
    Points
    20 762
    Billets dans le blog
    9

    Par défaut

    Bonjour,
    Voir la fonction DATE qui permet de reconstruire le numéro de série d'une date en fonction de ses trois arguments Année, Mois et Jour
    Cette fonction peut te renvoyer le dernier jour du mois qui précède en mettant 0 comme valeur du jour.
    Ainsi si la date de référence est le 4/1/2019 et que tu veux obtenir la date de la fin de ce mois et en supposant que la date de référence se trouve en F2, la formule est
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    =DATE(ANNEE(F2);MOIS(F2)+1;0)
    Philippe Tulliez
    Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément. (Nicolas Boileau)
    Lorsque vous avez la réponse à votre question, n'oubliez pas de cliquer sur et si celle-ci est pertinente pensez à voter
    Mes tutoriels : Utilisation de l'assistant « Insertion de fonction », Les filtres avancés ou élaborés dans Excel
    Quelques contributions : USERFORM - Créer, Consulter, Modifier et Supprimer des enregistrements à l'aide d'un formulaire - Géolocalisation d'une adresse avec Excel et Google sans VBA

  7. #7
    Membre expert

    Homme Profil pro
    Retraité
    Inscrit en
    juin 2012
    Messages
    1 480
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Retraité
    Secteur : Enseignement

    Informations forums :
    Inscription : juin 2012
    Messages : 1 480
    Points : 3 353
    Points
    3 353
    Billets dans le blog
    1

    Par défaut

    Bonjour,
    Une solution pourrait être d’avoir non pas les périodes de fermeture du service mais les périodes d’ouverture (ou alors d’établir un tableau des ouvertures à partir du tableau des fermetures).
    Cela reviendrait ensuite à déterminer à l’aide de la fonction NB.JOURS.OUVRES.INTL le nombre du jour choisi de la semaine entre les dates limitant l’intersection de deux périodes : le mois voulu et la période d’ouverture correspondante.
    Ce qui est fait ci-dessous dans une feuille appelée Ouverture de services.
    Nom : nb jours semaine.JPG
Affichages : 42
Taille : 46,2 Ko
    Pour ne pas avoir une formule trop longue à écrire dans les cellules de la matrice B11:M15, on peut commencer par définir deux noms en se plaçant en cellule B11 :
    pér_ouv par :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    =SIERREUR(EQUIV(FIN.MOIS('Ouvertures de services'!B$9;0);'Ouvertures de services'!$A$3:$C$3);1)
    choix_jour par :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    =SUBSTITUE("1111111";"1";"0";LIGNES('Ouvertures de services'!$11:11))
    Pour l’utilisation du nom pér_ouv dans les futures formules, on peut voir sur l’image ci-dessous qu’à chacun des mois janvier, février, mars … est associée l’une des périodes d’ouverture 1, 1, 2… données dans la matrice A2:C4.
    Nom : périodes d'ouverture.JPG
Affichages : 39
Taille : 37,3 Ko

    L’utilisation du nom choix_jour permet de n’écrire qu’une seule formule pour toutes les cellules de la matrice B11:M15 au lieu de changer le troisième paramètre de la fonction NB.JOURS.OUVRES.INTL pour chacune des lignes 11, 12, …, 15.
    Nom : choix jour.JPG
Affichages : 39
Taille : 16,5 Ko

    Les noms pér_ouv et choix_jour ayant été préalablement définis, écrire en B11 la formule :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    =MAX(NB.JOURS.OUVRES.INTL(MAX(B$9;RECHERCHEH(pér_ouv;$A$2:$C$4;2));MIN(FIN.MOIS(B$9;0);RECHERCHEH(pér_ouv;$A$2:$C$4;3));choix_jour);0)
    et la recopier dans toutes les cellules de la matrice B11:M15.
    Si la compréhension de la formule pose problème, lire les explications dans le billet Intersection de deux périodes.
    Cordialement
    Claude
    Images attachées Images attachées  

Discussions similaires

  1. Réponses: 8
    Dernier message: 05/05/2017, 16h57
  2. Nombre de jours et d'occurences par mois
    Par krol55 dans le forum SAS Base
    Réponses: 4
    Dernier message: 03/05/2013, 17h34
  3. Réponses: 3
    Dernier message: 07/09/2010, 20h57
  4. Nombre de jours maxi d'astreinte par mois ? (convention Syntec)
    Par hélios44 dans le forum Droit du travail
    Réponses: 1
    Dernier message: 16/05/2010, 12h58
  5. Nom du jour (lundi, mardi, etc)
    Par Djohn dans le forum Excel
    Réponses: 4
    Dernier message: 29/05/2008, 19h41

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo