Microsoft 365 Compter les WE libres

Aloha

XLDnaute Accro
Bonsoir,
Dans le document ci-attaché se trouvent les données (heures) en rapport avec le contrat de travail de DUPONT Marie et DURAND Germaine.
Dans la ligne en haut les 24 heures de la journée + nuit
Colonne A: Date
Colonne B: Jour semaine
Colonne C: Nom et prénom de l'agent
Colonne D: le service dans lequel l'agent travaille
Colonnes E à AB: les heures en rapport avec le contrat de travail

Signification des symboles rencontrés:
X = 1 heure de travail
C = 1 heure de congé
RS = 1 heure réunion de service comptée comme heure de travail
T = Tutorat
HS = heure supplémentaire
...et il y en a d'autres

Double problème:

* le premier:

La règle: le repos ininterrompu hebdomadaire de 44 heures doit coïncider avec le week-end au moins 20 fois par an. Le week-end s’étend sur une période de deux jours consécutifs situés entre 6 heures le samedi matin et 6 heures le mardi matin.

Les périodes samedi 6h à mardi 6h sont en jaune.

Il s'agit donc de vérifier quand la personne avait un WE de libre suivant les règles ci-dessus
et de les mettre dans un compteur pour faire le bilan à la fin de l'année.

* le second:

Chaque salarié a droit à un repos ininterrompu de 44 heures par semaine. Dès la fin d’un repos hebdomadaire, le prochain repos hebdomadaire doit intervenir endéans les prochains sept jours. Les salariés qui n’ont pas pu jouir dudit repos auront droit à un jour de congé supplémentaire pour chaque période entière de 8 semaines, successives ou non, pendant laquelle le repos ininterrompu de 44 heures par semaine n’est pas accordé.

Il faut donc compter les périodes de 7 jours où la condition est remplie (donc pas 44 heures libres consécutives)

Je ne sais pas si ces poblèmes sont résolubles par seules formules ou s'il faut du VBA. La base de données retraçant chaque heure de chaque jour de l'année pour quelque 130 salariés (qui n'existe pas encore; les données sont disponibles dans des fichiers mensuels par service regroupant tous les salariés travaillant dans ce service; il faudra copier les données par VBA) sera assez importante: 130 * 365 = beaucoup de lignes

Quelqu'un parmi vous entrevoit-il/elle comment résoudre ce double problème?
Merci d'avance pour tout tuyau et toute aide!

Bien à vous
Aloha
 

Pièces jointes

  • Saisies.xlsx
    19.2 KB · Affichages: 185
Dernière édition:

CISCO

XLDnaute Barbatruc
Bonsoir

Bonjour,
Je voulais importer les fichiers réels de janvier 2021, j'ai copié toutes les fiches des services de la Base.xls actuellement en service vers Base.xlsm...

Qui plus est, cette Base.xls se trouve sur un DVD!

A+
Aloha
Là, c'est plus difficile à résoudre... De mon coté, je n'ai pas de problème avec le fichier en .xlsm...

As-tu travaillé avec un dossier X contenant :
* le fichier Base.xlsm
* et le dossier Tobecopied (inclus dans le dossier X donc )?
C'est la condition Sine-qua non pour que cela fonctionne.

@ plus
 

Aloha

XLDnaute Accro
Bonsoir,
Bonsoir

On peut faire sans ces paramètres, mais alors il faut mettre ce Call dans le module 1, ce qui donne
VB:
Sub Bouton1_Cliquer()
Sheets("SAISIES").Activate
Call Transfer
Call Tri_3_clés
Call Calculs
Sheets("44 HEURES").Activate
Call REMPLIR_44_HEURES

End Sub

@ plus

P.S : J'ai aussi des passages par Private Sub...
OK, Merci; je le ferai à la fin; pour l'instant je laisse son indépendance à cette macro.
A+
Aloha
 

Aloha

XLDnaute Accro
Rebonsoir


Cette Private Sub Worksheet_SelectionChange sert initialement à colorier en vert la plage de 7*24 h placée après toute cellule unique sélectionnée manuellement dans le tableau complètement à droite.
Elle est lancée automatiquement lorsque la sélection dans cette page SAISIES est changée, mais son contenu n'est complètement exécuté, à cause de certains tests placés dedans, que si on ne sélectionne qu'une seule et unique cellule, et pas plusieurs, et que la cellule sélectionnée se trouve dans le tableau complètement à droite. Elle sert à vérifier facilement, manuellement, ce qui se passe après tout repos de 44 h.
Regarde la pièce jointe 1105768

Donc, ici, à chaque fois qu'une autre macro X sélectionne des cellules de la feuille SAISIES, Excel lance cette Private Sub, ne fait rien d'autre (Puisque ce n'est pas ce qui est désiré) et passe à la ligne suivante dans la macro X.
De plus, maintenant qu'on supprime à la fin tous les tableaux intermédiaires de droite, ce remplissage ne sert plus à rien (on ne vérifie plus rien manuellement dans ce tableau intermédiaire). On peut supprimer cette Private Sub dans la feuille 1, ou mettre une apostrphe devant toutes ses lignes.

@ plus
Je mets des apostrophes
 

Pièces jointes

  • Base.xlsm
    142.1 KB · Affichages: 3
Dernière édition:

Aloha

XLDnaute Accro
Bonjour,
Maintenant, après que mon ordi ait passé une nuit en mode éteint, le problème décrit dans le message #253 n'existe plus!

Redémarrer Excel n'avait pas suffi, c'est seulement depuis que l'ordinateur avait été éteint puis redémarré que le problème n'est plus survenu.
A+
Aloha
 

Aloha

XLDnaute Accro
Re,
Je dois préciser: ce fichier dont la macro voulait copier se trouvait sur un DVD, que j'ai enlevé entretemps; je ne sais pas si c'est ce fait-là ou bien le fait que l'ordi a été redémarré qui fait la différence.

Ce soir je vais le remettre et voir ce que la macro fera.
A+
Aloha
 

Aloha

XLDnaute Accro
Bonsoir,
J'ai importé les fichiers janvier à avril 2021, sans problème.
J'ai d'abord copié les fiches des services avec les noms depuis Base.xls et tant que ce fichier est resté ouvert j'ai eu un message d'erreur (cf. copies d'écran ci-annexées).

Le seul problème que j'ai rencontré: lorsqu'un salarié arrête de travailler il est sorti de la liste, sinon la macro qui prépare les fichiers mensuels continuera à produire une fiche pour les personnes parties. il s'en suit que "ma" formule ne peut pas donner une valeur pour ces personnes-là puisqu'elle ne trouve pas les noms.

Il faudrait peut-etre modifier la macro qui prépare les fichiers mensuels depuis Mois, de sorte à ce que ces gens puissent être laissés dans la liste, mais que la macro prenne en compte si la personne est encore là ou non depuis la case Date de fin de contrat..

Cependant, comme les fichiers sont importés normalement mois par mois, le problème ne devrait pas se poser dans le fonctionnement normal. Le seul problème: s'il y a une modification et que le tout est recalculé.
Bonne nuit
Aloha
 

Pièces jointes

  • Erreur.JPG
    Erreur.JPG
    45.8 KB · Affichages: 18
  • message.JPG
    message.JPG
    16.8 KB · Affichages: 17

CISCO

XLDnaute Barbatruc
Bonjour

J'essayerai de regarder cela dans la journée ou ce soir.

Pour ce qui est des personnes ne faisant pas toute l'année (parce qu'elles commencent ou finissent en cours d'année), normalement, on doit pouvoir faire sans la feuille "FM", en demandant à la macro de chercher le premier jour et le dernier jour de travail de chaque personne. Mais comme ta formule semble aussi faire le travail, je ne me suis pas trop intéressé à la question.

Toujours à ce sujet, comment doit-on considérer le cas des personnes en congé maladie, à combien de repos de 44 h en W.E. ont-ils le droit ?

Dans la pratique, comment remplis tu cette feuille "FM" ?

@ plus
 

Aloha

XLDnaute Accro
Bonjour,
Pour ce qui est des personnes ne faisant pas toute l'année (parce qu'elles commencent ou finissent en cours d'année), normalement, on doit pouvoir faire sans la feuille "FM", en demandant à la macro de chercher le premier jour et le dernier jour de travail de chaque personne.
Je n'avais pas pensé à cette possibilité, cela allégerait la tâche un peu (les données sont de toute façon présentes), mais elle est trop inexacte: admettons qu'une personne soit engagée au 1er mais que le responsable la fasse travailler seulement à partir du 4, alors elle a droit aussi au prorata du 1er au 3. Idem pour la fin du contrat de travail. Il y a peut-être d'autres situations qui ne me viennent pas à l'esprit maintenant.

J'essayerai de regarder cela dans la journée ou ce soir.
C'était juste une remarque parce que cela m'a semblé également bizarre; dans la réalité le problème ne surgira pas puisqu'il y aura seulement un fichier Base d'ouvert, le Base.xls. Ne passe pas trop de temps avec cela, à moins que ce soit un défi pour toi, puisque normalement cela ne devrait pas se produire!
Toujours à ce sujet, comment doit-on considérer le cas des personnes en congé maladie, à combien de repos de 44 h en W.E. ont-ils le droit ?
Cela ne change rien aux droits.

A+
Aloha
 

CISCO

XLDnaute Barbatruc
Bonsoir

Bonjour,

Je n'avais pas pensé à cette possibilité, cela allégerait la tâche un peu (les données sont de toute façon présentes), mais elle est trop inexacte: admettons qu'une personne soit engagée au 1er mais que le responsable la fasse travailler seulement à partir du 4, alors elle a droit aussi au prorata du 1er au 3. Idem pour la fin du contrat de travail. Il y a peut-être d'autres situations qui ne me viennent pas à l'esprit maintenant.
J'espérai que le fait d'utiliser un ou des arrondis résoudrait ce problème.

@ plus
 

CISCO

XLDnaute Barbatruc
Rebonsoir
C'était juste une remarque parce que cela m'a semblé également bizarre; dans la réalité le problème ne surgira pas puisqu'il y aura seulement un fichier Base d'ouvert, le Base.xls. Ne passe pas trop de temps avec cela, à moins que ce soit un défi pour toi, puisque normalement cela ne devrait pas se produire!
Si le problème ne peut pas se présenter dans l'usage normal de cette macro, je ne vais pas chercher à le résoudre... Pas la peine...

@ plus
 

Aloha

XLDnaute Accro
Bonjour,

Une question: je viens d'importer le mois de janvier 2021 réel; dans le fichier d'un service la fiche d'un salarié est vide, mais il y a un fichier à part avec sa seule fiche remplie, de sorte qu'il apparaît 2 fois dans Saisies: une fois avec le nom et les dates mais sans saisies, et une fois avec tout.
Penses-tu que cela pose problème pour les calculs ou non?
A+
Aloha
 

CISCO

XLDnaute Barbatruc
Bonsoir

J'ai fait un test en mettant dans Tobecopied deux fichiers, un contenant plusieurs feuilles habituelles, dont une vide, nommée SALON Séraphine, et un autre avec une feuille remplie comme habituellement, nommée SALON Séraphine. En mettant des arrêts, et en travaillant avec F8 et F5, je ne vois pas de problème... Cela à l'air correct. Je testerai davantage demain.

@ plus
 

Discussions similaires

Réponses
10
Affichages
1 K
Réponses
0
Affichages
379

Statistiques des forums

Discussions
315 091
Messages
2 116 109
Membres
112 662
dernier inscrit
lou75