IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
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

Conception Discussion :

Formule nombre d'heures travaillées Dimanche et jours fériés [XL-2016]


Sujet :

Conception

  1. #1
    Membre du Club
    Homme Profil pro
    Ressources humaines
    Inscrit en
    Décembre 2013
    Messages
    68
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ressources humaines
    Secteur : Santé

    Informations forums :
    Inscription : Décembre 2013
    Messages : 68
    Points : 47
    Points
    47
    Par défaut Formule nombre d'heures travaillées Dimanche et jours fériés
    Bonjour à toutes et à tous,

    J'ai un planning de travail sous excel.
    En A21, la date du jour travaillé
    En C21, l'horaire de début de travail
    En D21, l'horaire de fin de travail

    En E21, durée du temps de travail:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    =SI(OU(D21="";D21="R");"";MOD(D21-C21;1))
    R= Repos; est renseigné si le professionnel ne travaille pas

    En F21 le temps de travail effectué de nuit (sur une base horaires de nuit entre 22:00 et 07:00), sachant que le professionnel peut par exemple commencer à 21:30 et finir à 07:15; donc durée du temps de travail peut être différente du temps de travail de nuit:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    =SI(D21="";"";(SI(ET(C21<>D21;C21>D21);(MOD("00:00 "-C21;1)+MOD(D21-"00:00";1))-(MOD("22:00"-C21;1)+MOD(D21-"07:00";1));"")))
    Le problème:
    En G21, je voudrai le nombre d'heures travaillées les dimanches et jours fériés. J'arrive à récupérer le nombre d'heures travaillées le dimanche, même pour un professionnel qui travaillerait le samedi de 21:30 à 07:15 et qui donc ferait des heures le dimanche à partir de minuit. La formule que j'ai construite pour cela:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    =SI(C21=D21;"";(SI(ET(C21>D21;JOURSEM(A21;2)=6);D2 1-"00:00";"00:00"))+(SI(ET(C21>D21;JOURSEM(A21;2)=7) ;"24:00"-C21;"00:00"))+(SI(ET(C21<D21;JOURSEM(A21;2)=7);D21-C21;"00:00")))
    Donc cela ça marche, pas de souci.

    Pour les jours fériés, j'ai fait une plage de données JOURS FERIES contenant les dates des jours fériés de l'année (format personnalisé jjjj jj mmmm).
    Donc si le salarié travaille un jour férié, je pourrai rajouter dans la formule en rouge:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    =SI(ESTNA(EQUIV(A21;JOURSFERIES;0));"00:00";D21-C21)
    Mais il me faut ce résultat également en G21, avec les dimanches; j'ai donc divers problèmes que je n'arrive pas à résoudre et à intégrer dans la formule en rouge:
    -si le férié tombe un dimanche, le total d'heures est faux puisque cela me compte le temps pour le dimanche et pour le jour férié. Il faudrait ne le compter qu'une fois
    -gérer les horaires de nuit pour les veilles de jour fériés travaillés: le salarié de nuit qui bosse le 30 avril, de 21:30 à 07:15, bascule à partir de minuit en jours fériés
    -gérer les horaires de nuit pour les jours fériés travaillés: le salarié qui bosse le 1er mai de 21h30 à 07:15 va être en jour férié jusqu'à minuit.

    Je vous met le fichier en PJ.

    Merci à vous pour votre aide.
    Averell
    Fichiers attachés Fichiers attachés

  2. #2
    Expert éminent sénior

    Profil pro
    Conseil, Formation, Développement - Indépendant
    Inscrit en
    Février 2010
    Messages
    8 414
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Conseil, Formation, Développement - Indépendant

    Informations forums :
    Inscription : Février 2010
    Messages : 8 414
    Points : 16 256
    Points
    16 256
    Par défaut
    Bonjour

    Plus court pour compter les jours fériés :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    =NB.SI(JOURSFERIES;A21)>0
    pour combiner avec un dimanche
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    =SI(OU(JOURSEM(A21;2)=7;NB.SI(JOURSFERIES;A21)>0)
    ou
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    =SI(ET(JOURSEM(A21;2)<7;NB.SI(JOURSFERIES;A21)=0)
    selon ce qu'on évalue
    Chris
    PowerQuery existe depuis plus de 13 ans, est totalement intégré à Excel 2016 &+. Utilisez-le !

    Quand un homme a faim, mieux vaut lui apprendre à pêcher que de lui donner un poisson.
    Confucius

    ----------------------------------------------------------------------------------------------
    En cas de résolution, n'hésitez pas cliquer sur c'est toujours apprécié...

  3. #3
    Membre du Club
    Homme Profil pro
    Ressources humaines
    Inscrit en
    Décembre 2013
    Messages
    68
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ressources humaines
    Secteur : Santé

    Informations forums :
    Inscription : Décembre 2013
    Messages : 68
    Points : 47
    Points
    47
    Par défaut Formule nombre d'heures travaiilées Dimanche et jours fériés
    Merci 78Chris pour ta réponse.
    Le problème, c'est que je n'arrive pas à tout combiner et traduire sous forme d'une seule et unique formule:
    SI((A1 est en même temps un dimanche et jour férié)ET SI(le salarié est en horaire de jour, c'est à dire C21<D21),alors heures DJF en colonne G=D21-C21

    SI((A1 est en même temps un dimanche et jour férié)ET SI(le salarié est en horaire de nuit, c'est à dire C21>D21),alors heures DJF en colonne G="24:00"-D21

    SI ((A1 n'est pas un dimanche mais un jour férié) ET SI (le salarié est en horaire de jour,, c'est à dire C21<D21),alors heures DJF en colonne G=D21-C21

    SI ((A1 n'est pas un dimanche mais un jour férié) ET SI (le salarié est en horaire de nuit, c'est à dire C21>D21),alors heures DJF en colonne G="24:00"-D21

    Je n'arrive pas à écrire ces 4 éléments dans une seule et unique formule......

    Averell

  4. #4
    Membre du Club
    Homme Profil pro
    Ressources humaines
    Inscrit en
    Décembre 2013
    Messages
    68
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ressources humaines
    Secteur : Santé

    Informations forums :
    Inscription : Décembre 2013
    Messages : 68
    Points : 47
    Points
    47
    Par défaut Formule nombre d'heures travaiilées Dimanche et jours fériés
    Et il faudrait également rajouter le cas des veilles de jours fériés pour les salariés travaillant la nuit

    SI A21=veille de jour férié et que le salarié travaille de nuit alors heures DJF= D21 (fin horaire de travail)-"00:00"

    C'est chaud chaud

  5. #5
    Expert éminent sénior

    Profil pro
    Conseil, Formation, Développement - Indépendant
    Inscrit en
    Février 2010
    Messages
    8 414
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Conseil, Formation, Développement - Indépendant

    Informations forums :
    Inscription : Février 2010
    Messages : 8 414
    Points : 16 256
    Points
    16 256
    Par défaut
    Bonjour

    Je dois partir mais je te donne la formule que j'avais faite hier en G21 et qui semble OK :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    =SI(C21=D21;"";(SI(ET(C21>D21;JOURSEM(A21;2)=6);D21;))+(SI(ET(C21>D21;OU(JOURSEM(A21;2)=7;NB.SI(JOURSFERIES;A21)>0));1-C21;0))+(SI(ET(C21<D21;OU(JOURSEM(A21;2)=7;NB.SI(JOURSFERIES;A21)>0));D21-C21;0)))
    Chris
    PowerQuery existe depuis plus de 13 ans, est totalement intégré à Excel 2016 &+. Utilisez-le !

    Quand un homme a faim, mieux vaut lui apprendre à pêcher que de lui donner un poisson.
    Confucius

    ----------------------------------------------------------------------------------------------
    En cas de résolution, n'hésitez pas cliquer sur c'est toujours apprécié...

  6. #6
    Membre du Club
    Homme Profil pro
    Ressources humaines
    Inscrit en
    Décembre 2013
    Messages
    68
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ressources humaines
    Secteur : Santé

    Informations forums :
    Inscription : Décembre 2013
    Messages : 68
    Points : 47
    Points
    47
    Par défaut =SI(C21=D21;"";(SI(ET(C21>D21;JOURSEM(A21;2)=6);D21;))+(SI(ET(C21>D21;OU(JOURSEM(A21;2)=7;NB.SI(JOURSFERIES;A2
    Pffffff.... Merci 78chris
    J'ai testé.... Ca semble marcher du feu de Dieu et prendre en compte toutes les conditions que je t'ai exposées....
    Mille merci
    J'y suis depuis ce matin 8h, j'ai essayé tout un tas de formules et il y avait toujours un cas où ça foirait....
    Par contre j'essaierai d'éplucher ta formule demain, car là j'ai le cerveau qui fume.....

    Merci à toi et excellente fin de journée

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [AC-2003] Nombre d'heures travaillées
    Par canalg dans le forum VBA Access
    Réponses: 8
    Dernier message: 16/03/2018, 16h16
  2. [MCD] Nombre d'heures travaillées par mois par année par compte
    Par Tidus159 dans le forum Schéma
    Réponses: 9
    Dernier message: 11/03/2011, 12h20
  3. [AC-2007] calcul nombre d'heures travaillées
    Par hugodu28 dans le forum Requêtes et SQL.
    Réponses: 1
    Dernier message: 09/01/2011, 17h10
  4. Réponses: 1
    Dernier message: 05/01/2010, 23h59

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