Calculer nombre de jours travaillés (matin ou soir) sans VBA

Bonjour,

je vais tenter d’expliquer ma requête simplement.

But : je veux calculer combien de fois dans le mois j’ai travaillé le matin (heure variable mais toujours entre 00h01 et 10h00) et le soir (heure entre 10h01 et 00h00).

Conditions :

  • j’ai plusieurs entrées d’heures travaillées par jour (horaire), ce qui rend le calcul foireux car seul le premier horaire (heure de début) compte.
  • la formule doit pouvoir s’adapter de 1 à 6 entrées par jour et conserver la première comme seule référence.

Statistiques :
le but est de tirer des statistiques par mois du nombre de jours travaillés de jour et de nuit, en prenant en compte les jours de repos (pas de données).

Je vous laisse un tableau avec un exemple, c’est un fragment du tableau originel mais ça devrait suffire à éclairer ceux qui peuvent m’aider.

Essais : j’ai tenté de résoudre mon problème avec un TCD mais sans succés

Merci à tous.Duty.xlsx (10,8 Ko)

Bonjour @Moustik,

Serais-tu intéressé par ce genre de présentation ?

Sachant aussi que je ne sais pas ce que signifie pour toi les lettres qui sont dans les colonnes “B” From (De) et “D” To (à) .

Dans l’attente de ta réponse.

Cordialement.

Bonjour mdo100.

“From” (B) et “To” (D) sont mes points de départ et d’arrivée (des aéroports en fait). Je dois calculer pour chaque jour, la durée qui s’écoule entre le moment où je pars de B et j’en reviens.

La contrainte ici est que ma formule doit pouvoir s’adapter à des journées différentes avec par exemple un départ d’un aéroport X et une fin de journée à un aéroport Y.

Cela éclaire-t-il un peu ta demande ?

Merci pour ton aide.

Re @Moustik,

Non ça m’éclaire pas plus que cela et je ne sais pas si cela a de l’importance par rapport à ce que j’ai fais, mais ça aide à disposer les colonnes.
On peut très bien ajouter des colonnes From, To entre chaque plage Départ, Arrivée.

Regarde cette présentation et dit moi:

@+

Re @Moustik,

Je t’envoie la première feuille du fichier tel que ma 2ème présentations, regarde si cela peut te convenir.

Si cela convient je t’enverrai le fichier en entier et je t’expliquerai le mieux possible le fonctionnement.

Dans cette attente, fais des tests:

Fichier ICI==> Calcul des horaires de travail V1.xlsx (19,5 Ko)

Cdlt.

Re @mdo100,

je te fais passer en pièce jointe un exemple de ce que j’essaye de créer de manière automatique (via des formules). J’espère que ma demande sera plus claire pour toi.

Merci pour ton aide, c’est vraiment sympa.

P.S j’ai regardé ton second fichier mais je me perds un peu dedans. Je vais essayer de voir comment adapter ta forme à ma demande. Duty.xlsx (12,3 Ko)

Re @Moustik,

Regarde j’ai adapté le mois de Janvier avec tes valeurs sur le fichier que je t’ais envoyé.

Personnellement, je trouve cela vraiment plus clair et bien moins compliqué.

Fichier ICI==> Calcul des horaires de travail V2.xlsx (24,9 Ko)

@+

Re @mdo100,

effectivement ta mise en forme est bien plus claire. Malheureusement, dans mon cas, je n’ai pas le choix de la mise en forme et les horaires doivent être empilés verticalement et non à l’horizontale, ce qui serait bien plus pratique.

Crois-tu que l’on peut adapter ta formule à une disposition verticale ?

Merci de ton aide :wink:

Bonsoir @Moustik,

Je te propose ceci adapté à ton fichier:

Calculs des “Heures Totales” colonne "J"

En “J2”

=MOD(MAX(SI(($A$2:$A$34=I2);$E$2:$E$34))-MIN(SI(($A$2:$A$34=I2);$C$2:$C$34));1)

Formule matricielle à valider avec ctrl + maj + entrée
Tirer vers le bas autant que nécessaire.

Calculs des heures “De 00h00 à 10h00” colonne "L"

En “L2”

=SI(J2-MOD(MAX(SI(($A$2:$A$34=I2);$E$2:$E$34))-"10:00";1)<0;0;J2-MOD(MAX(SI(($A$2:$A$34=I2);$E$2:$E$34))-"10:00";1))

Formule matricielle à valider avec ctrl + maj + entrée
Tirer vers le bas autant que nécessaire.

Calculs des heures “De 10h00 à 00h00” colonne "K"

=J2-L2

Formule normale
Tirer vers le bas autant que nécessaire.

Ton fichier ICI==> Calcul des horaires de travail V3.xlsx (13,9 Ko)

Cordialement.

1 J'aime

Bonjour mdo100,

ta formule est une merveille. Elle marche très bien de manière verticale et je dois dire que tu m’as retiré une belle épine du clavier.

J’ai cependant 2 questions :

  • puis-je rajouter au résultat 1h20 ?
    Je pense avoir déjà tenté de le faire mais sur des formules classiques et non sur des matricielles d’où ma question
  • j’essaye de faire rentrer ta formule dans une seule et même cellule sans passer par une cellule tierce pour la date (cellule I2 dans ta formule). Puis-je rajouter une formule SI qui ne prendrait pas en compte les heures à la même date ?

Encore merci pour ton aide.

Bonjour @Moustik,

Je ne comprends ni l’une, ni l’autre de tes 2 questions ?
Encore que: Ajouter 1h20 a un résultat, oui, mais ou, quelle colonne, est-ce ponctuel ou pour tous le où les résultats ?

Peux-tu illustrer dans un fichier ce que tu attends ?

Cdlt.

Re,

j’ai modifié ton fichier pour essayer d’être plus clair. Dans l’intervalle, j’ai réussi à répondre à ma propre question sur l’ajout d’heure :wink:

Voir fichier joint en espérant que cela soit plus clair.

Merci Calcul des horaires de travail V4.xlsx (15,3 Ko)

Re @Moustik,

Ça me semble plus clair avec tes exemples :wink:

En "P25"

=SI(I26=I25;"Ne rien calculer";TEMPS(1;20;0)+MOD(MAX(SI(($A$2:$A$34=I25);$E$2:$E$34))-MIN(SI(($A$2:$A$34=I25);$C$2:$C$34));1))

Formule matricielle à valider avec ctrl + maj + entrée
Tirer vers le bas autant que nécessaire.

En "P33"

=SI(I34=I33;"Ne rien calculer";SI(K33<MOD("10:00";1);"Early";"Late"))

Formule normale
Tirer vers le bas autant que nécessaire.

Je suppose que tu vas destiner ses formules à d’autres colonnes, je te laisse donc les adapter, tout comme tu vas sans doute remplacer “Ne rien calculer” par autre chose, par exemple 0.

Ton fichier ICI==> Calcul des horaires de travail V4.xlsx (15,6 Ko)

Cela convient-il ?
Cdlt.

Incroyable ! C’est juste incroyable !!

Tu as résolu un problème qui m’occupe depuis déjà plusieurs semaines en seulement quelques minutes.

Je te montre le résultat final et il est juste comme je le veux. J’ai encore quelques ajustements à faire mais le principal est là et est fonctionnel.

Encore merci pour ton aide.

Dernière question et après promis j’arrête de te monopoliser :
dans ta formule, puis-je inclure une nouvelle fonction (fonction “si” peut-être) qui excluerait les cases vides (dernière ligne du fichier joint) ?

Encore un grand merci pour ton aide. Calcul des horaires de travail V5.xlsx (18,6 Ko)

Re @Moustik,

Merci de ton retour :wink:

En “G2”

=SI(ET(C2<>"";D2<>"");SI(B3=B2;"0";TEMPS(1;20;0)+MOD(MAX(SI(($B$3:$B$1000=B2);'D:\DropxBox\Dropbox\Aviation\Norwegian\Logbook\[Log1.xlsx]Hours'!$E$3:$E$1000))-MIN(SI(($B$3:$B$1000=B2);'D:\DropxBox\Dropbox\Aviation\Norwegian\Logbook\[Log1.xlsx]Hours'!$C$3:$C$1000));1));"")

Toujours en matricielle.

En “H2”

=SI(ET(C2<>"";D2<>"");SI(B3=B2;"0";SI(C1<MOD("10:00";1);"Early";"Late"));"")

Toujours en normal.

Bonne soirée

Bonjour @mdo100,

encore une fois, cela résoud une grosse partie de mes soucis. Merci pour tes éclairages.

Bonne soirée

Ce sujet a été automatiquement fermé après 30 jours. Aucune réponse n’est permise dorénavant.