Planning : vérification nombre de fins entre 19:00 et 2:00 du matin

Bonjour à tous,

Après maintenant plusieurs heures de recherches et de nombreux tests infructueux, je me tourne vers vous pour votre aide.

Mon frère m'a demandé un coup de main pour créer un planning pour gérer son équipe.

J'ai réussi à faire à peu près tout ce que je souhaitais, notamment grâce à la fonction MOD pour déduire les temps de pause de 30mn si le temps de travail dépasse 7 heures dans la journée.

Il souhaite aussi avoir un compteur en haut qui lui indique le nombre de personnes qui travaillent de matin, d'après-midi et de soir, de la manière suivante :

Matin : Début compris entre 9:00 et 12:00

Après-midi : Début compris entre 12:00 et 18:00

Soir : Début à partir de 19:00 et fin entre 19:00 et 2:00

Pour le matin, c'est assez simple, j'ai utilisé =NB.SI(Tableau33[Lun-D];"<12:00")

Pour l'après-midi, =NB.SI.ENS(Tableau33[Lun-D];">=12:00";Tableau33[Lun-D];"<18:00")

En revanche, pour le soir, je dois donc croiser entre ceux qui commencent à partir de 18:00 mais aussi ceux qui ont commencé l'après-midi, sont en longue journée, et terminent après 19:00, et sont donc comptabilités en travail d'après-midi ET de soir. Mon problème réside simplement dans la plage 00:00 - 02:00 du matin, que je ne parviens pas à ajouter dans ma formule sans que cela provoque des erreurs.

J'ai tenté avec des croisements en NB.SI, NB.SI.ENS, SOMME(NB.SI(MOD) etc, je ne parviens pas au résultat que je souhaite avoir.

Puis-je faire appel à vos lumières ?

Un petit screenshot de ce tableur :

image

Je vous remercie d'avance pour votre aide et me tiens à disposition si mes explications ne sont pas claires. :)

Bonne journée à tous.

Florian

Bonjour,

il faut déposer un fichier anonymisé avec les cas voulus si tu veux une réponse précise et testée.
Je dirais Fin>19:00 + Fin<=2:00
eric

Bonjour Eric,

Merci pour ta réponse.

Qu'entends-tu par anonymisé ?

Y a t-il une manipulation à faire avant que je le dépose ?

Merci d'avance.

Florian

Modifier toute donnée personnelle ou chiffres de la boite avec des données bidons. Au vu de ta capture ça semble correct

Ah oui d'accord !

C'est un fichier tout neuf donc appart des prénoms c'est bon.

Le voici donc en PJ, j'ai coloré en jaune les cellules qui m'intéressent.

Merci encore.

Florian

Tu aurais dû mettre les valeurs attendues pour assurer le coup.
Vois si c'est que tu attends.
eric

PS : il faut éviter les .Select (chronophages et inutiles dans 99% des cas)
Par exemple ton insertion de ligne devrait plutôt être :

Sub Insert_Ligne_Planning()
    Range("E8").ListObject.ListRows.Add (1)
End Sub

Bonjour Eric,

Effectivement, j'aurais du y penser.

Merci beaucoup pour ton aide, je pense que tu m'as aidé à régler mon souci, qui était plus d'ordre logique qu'un problème de formule je crois bien...

Je voulais faire en sorte que cela puisse compter une fois en après-midi et une fois en soir une personne présente par exemple de 14:00 à 01:00, ce qui semble être le cas ! Je ne sais pas pourquoi hier matin je m'obstinais à vouloir utiliser l'heure de début... (probablement quelque chose en lien avec la caféine...)

En tout cas, j'ai utilisé le même principe sur après-midi et tout semble coller, merci donc pour ton aide.

Pour les macros, c'était de l'enregistreur de macro vite fait, je n'avais pas pris le temps de les retoucher, mais je suis débutant avec VBA, je note donc ta remarque, merci encore.
Je vais revérifier tout ça mais il semblerait que mon problème soir résolu.

Merci pour ton aide et bon dimanche :)

Florian

Bonjour,

je n'ai regardé que soir, mais si tu as corrigé ça va.
S'il te reste des écarts, une autre solution serait de calculer les 2 plus simples, et de les soustraire au nombre de présents début ou fin pour avoir le 3ème résultat.
=NB(Tableau33[Lun-D])-F3-F4 par exemple.
Ton total de personnes (pas forcément la répartition...) sera obligatoirement correct.
eric

Bonjour Eric,

Effectivement, soir fonctionne mais je viens de passer 2 heures à me casser les dents sur après-midi, car selon les horaires, cela compte double, je ne parviens pas à ajouter une sorte de fonction OU à l'intérieur pour ne systématique compter que 1 si l'un des arguments est vérifié.

J'ai voulu aussi tester en pré-saisissant tous les cas possibles puis en allant vérifier avec des RECHERCHEV mais ça semblait lourd pour pas grand chose.

Effectivement l'astuce semble bonne, je vais tester en rentrant ce soir, ça m'a l'air pas mal !

Merci encore.

Florian

Rechercher des sujets similaires à "planning verification nombre fins entre matin"