Calcul d'heures planning

1

Bonjour,

J'essaye de créer un planning qui calcule automatiquement les heures hebdomadaires et mensuelles de chaque employé. Or, je bloque sur deux points.

Tout d'abord, en marge de mon tableau, j'ai toutes les dates du mois sous le format "lundi 01 janvier 2020" et sur la ligne du dessous le n° de semaine (non pas pour l'année mais sur le mois. A chaque mois, mon n° de semaine retourne à 0. C'est pour calculer ensuite les heures hebdomadaires). Le 1er problème vient donc de là... comment automatiser le n° de semaine pour qu'a chaque lundi, ce n° de semaine fasse "+1" ?

Deuxième point : le calcul automatique hebdomadaire. En effet, je souhaiterai grâce au n° de semaine faire une somme de toutes les heures travaillées par semaine (tout à droite du tableau des heures). Pour cela, je souhaite que ma fonction repère toutes les heures effectuées en semaine 1 par exemple et qu'elle me fasse la somme. Or, mon problème vient du fait aussi qu'il me faut une formule (par exemple MOD) pour faire un calcul d'heure lorsque l'employé termine après minuit.

J'espère avoir été assez claire dans ce que je voulais.

Merci par avance pour votre aide !

    Posté le 29 janvier, 12:31
    par RomainChvn
    Répondre
    1
    Posté le 29 janvier, 12:32
    par RomainChvn
    2

    Résolution des numéros de semaine

    Il y a une fonction Excel pour nous aider, c'est la fonction NO.SEMAINE

    Je calcule le numéro de semaine de la date en cours que je compare au numéro de semaine du premier du mois. Ca donne une formule qui fait peur qui, bien décomposée, est simple dans sa structure:

    Numéro_semaine_du_mois = Numéro_Semaine_du_jour – Numéro_Semaine_1er_du_mois + 1

    =NO.SEMAINE(E5;2)-NO.SEMAINE(DATE(ANNEE(E5);MOIS(E5);1))+1

    Résolution du calcul des heures

    A part en faisant des formules de 200 km de long, ou bien en créant des fonctions personnalisées en VBA, je ne sait pas résoudre autrement qu'en ajoutant une colonne après chaque jour.

    Je fais un test, si l'heure de fin est supérieure à l'heure de début, c'est que tout s'est déroulé dans la même journée donc je calcule l’intervalle en faisant 

    Heure_de_fin – Heure_de_début

    Si en revanche, l'heure de fin est inférieure à l'heure de début, je calcule  

    Heure_de_fin – Heure_de_début + 1

    (pour mémoire, Excel calcule les date en décimale et 1 équivaut à un jour, c'est-à-dire 24 heures)

    Somme des heures pour chaque semaine

    Je fais une somme conditionnelle. Pour cela, je mets à nouveau le numéro de semaine mais dans la ligne 7 sous la forme "Sem. 1" "Sem. 2" etc. et pas dans la ligne 6 pour que la somme ne prenne QUE les sous-totaux et pas les horaires de début et de fin.

    Ma formule en CU8 ressemble à 

    =SOMME.SI($E$7:$CS$7;"Sem. " & CU$6;$E8:$CS8)

    D'autres améliorations peuvent encore être apportées.

    Voici mon fichier transformé avec ce que j'ai décrit ci-dessus... et avec quelques petits trucs en plus

    https://www.cjoint.com/c/JADquAT5l6P

    En espérant avoir répondu à ta question.

    Bon courage.

    MicXL Posté le 29 janvier, 17:24
    par MicXL
    • Merci beaucoup pour ton aide. C'est exactement ce que je souhaitais obtenir ;) – RomainChvn 10 février, 11:31

    Si vous n'êtes pas inscrit sur le site, vous pouvez poster librement (en tant qu'invité).
    Pour cela, indiquez un pseudonyme (nom d'utilisateur) et une adresse email :