Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

XL 2010 Détecter les périodes de <44 h. libres pendant 7 jours

  • Initiateur de la discussion Initiateur de la discussion Aloha
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

Aloha

XLDnaute Accro
Bonjour,
Le titre est un peu compliqué; je l'explique.
Le contexte: des salariés ont droit à 1 jour de congé supplémentaire lorsque pendant 7 semaines consécutives ou non ils ne sont pas libres pendant 44 h. de suite par semaine.

Ils remplissent chacun une fiche mensuelle où ils saisissent toutes les heures en relation avec le contrat de travail, heure par heure, en inscrivant dans les cellules le type d'heure : travail ("X"), congé ("C"), maladie ("M"), heures supplémentaires (6 sortes, de "S1" à "S6"), réunions ("R"), etc. Ces fiches sont regroupées dans un classeur dont le nom se compose du nom du service, du mois et de l'année ([Mois] [Année] [SERVICEX].XLSX)

Admettons que je sois arrivé à regrouper ces données mois par mois et salarié par salarié (pour l'instant je le simule dans le fichier ci-joint; je dois m'occuper de ce problème par après) dans une base de données, en y copiant (de préf. par VBA, sinon par formule), les données requises de toutes les fiches de tous les mois et de tous les services.

Ce qui donne, en gros, un fichier comme celui qui est ci-joint.

J'ai donc compté jour par jour dans les fichiers remplis par les salariés les cases horaires (00:00 à 24:00, puisque le service fonctionne nuit et jour tous les jours de l'année) où il y a une inscription (colonne D) et j'ai retranché ce chiffre de 24, ce qui me donne donc les heures libres par période de 24 heures (colonne E). La colonne F tient compte de la date d'engagement et ne reprend les valeurs de la colonne E que pour la période du contrat de travail, sinon "HC" (hors contrat) est inscrit dans la case correspondante.

Il s'agit donc à présent de détecter, 7 jours par 7 jours, les périodes où dans la colonne F l'addition de 2 cellules superposées ne donne pas au moins 44, en commençant, pour déterminer les périodes de 7 jours, par le 1er janvier, resp. par la date d'engagement si le salarié a été engagé pendant l'années en cours,
 

Pièces jointes

Bonjour

Pourquoi ne fais tu pas directement avec =G11-G10 dans I11 ?

Je te pose des questions pour bien cerner ton besoin, certaines ne servent pas directement pour résoudre ton problème actuel, mais bon...

@ plus
 
Bonsoir,
Parce qu'il n'y a pas toujours, ou même rarement, une 3e période. C'est pourquoi je dois vérifier s'il y en a une. Et en plus la date fin peut être -ou l'est même normalement- vide, ce qui signifie qu'il y a CDI et que la salariée continue au-delà de l'exercice en cours avec cette tâche.

La plupart des salariés ne changent pas de tâche hebdomadaire au cours de l'année, mais ça arrive.
Au début je n'avais prévu que 3 tâches différentes possibles, mais il y avait une situation où une salariée avait 3 changements, c'est pourquoi j'avais étendu le système à un maximum de 6 tâches différentes.
Bonne soirée
Aloha
 
Bonjour,

Je ne sais pas ce qui se passe: j'avais posté ma réponse, mais je constate qu'elle n'est pas arrivée!

La colonne J doit calculer la part des différentes périodes (qui se distinguent par des tâches hebd. différentes) au jour de congé.
Ainsi, s'il n'y avait qu'une période, du 1.1. au 31.12., et si la tâche était de 40h., le jour de congé équivaudrait à 8 heures; avec 20h/sem. à 4 heures.

S'il a été engagé au cours de l'année, qu'il travaille toujours au 31.12., et que la tâche n'a pas changé, il équivaut à 8/365 * (31.12-date début contrat de travail) /40 * la tâche.

Si, par contre, il y a différentes périodes à tâches hebdomadaires différentes, chacune a sa part dans le jour, compte tenu de sa durée par rapport à la durée totale du contrat de travail au cours de cette année (qui est de 365 jours s'il a été engagé <=1.1. et qu'il travaille toujours au 31.12.).

Pour résumer: le nombre d'heures que vaut ce jour est fonction du nombre de jours d'une période par rapport au total des jours de toutes les périodes et de la tâche pendant cette période.

A+
Aloha
 
Re,
il y a un problème avec les formules en G.
Si je change la date en G10, donc si le salarié a p.ex. droit au jour le 28.5., ce n'est pas la date fin de la 1ère période qui doit apparaître en G11, parce que située après la date d'échéance du jour de congé, mais, dans le cas d'espèce, celle de la 2e. CF fichier joint.

J'ai ajouté un autre exemple pour illustrer les calculs (en aval de la récupération des données requise; ça c'est un autre problème) à partir de la colonne U.

A+
Aloha
 

Pièces jointes

Dernière édition:
Tu veux dire en G10? Ca c'est évidemment un cas limite qui exige davantage de performance encore de la formule, car elle doit donner le nombre 1 si le jour du congé coïncide avec la date fin d'une période.

On a posté simultanément: j'ai ajouté du texte et un fichier à mon message précédent.
 
Bonsoir,
désolé, mais j'ai constaté 2 problèmes:
si je change la date dans H10 au 5/5, alors il y a #VALEUR dans J13.
Qui plus est: le résultat des calculs est 8 heures, ce qui ne peut être exact. Ce serait 8 heures si la personne avait travaillé toute l'année, et 40h/sem.
Il y a une double réduction
* du fait qu'elle a commencé seulement au cours de l'année
* du fait qu'elle ne travaille pas toujours 40 heures.
A+
Aloha
 
Bonsoir

J'avais oublié un ou deux $. C'est corrigé dans ma précédente pièce jointe. De plus à la place d'écrire SOMME(J$11:J$14), c'est plus simple de faire directement avec J$15.

@ plus
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Réponses
0
Affichages
331
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…