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
Bonjour

Les zones bleues ne sont que rarement placées au bon endroit. Par exemple, la première zone bleue, en partant du haut, devrait être sur les lignes 38 à 40 car la première plage correcte le WE va de AN38=1 à AI40=44.

La macro, en commençant par la fin, normalement, colorie en bleu la première cellule avec un 44, 30 colonnes plus à droite, puis toutes les autres jusqu'à rencontrer un 1, 30 colonnes plus à droite. Puis plus de coloriage jusqu'au prochain 44. Et ainsi de suite, toujours en allant du bas vers le haut. Et là, ce n'est pas ce qui se passe.

Je regarde ça ce soir si possible.

@ plus
 

CISCO

XLDnaute Barbatruc
Rebonjour

j'ai pensé à une chose, mais n'en suis absolument pas certain : J'ai oublié de demander à la macro de nettoyer la plage sur laquelle elle va écrire les nouvelles cellules bleues ainsi que les bordures. Par conséquent, on a peut-être la superposition de plusieurs zones bleues, certaines correspondant à un premier remplissage, d'autres à un second, d'autres à un troisième... Peut-être est-ce cela l'origine de ces zones bleues mal placées ?

Par conséquent, pourrais-tu rajouter dans la macro Transfer les lignes suivantes :

'Nettoyage des colonnes D à AA à partir de la ligne 4
Workbooks(Fdestina).Worksheets(feuildestina).Range("D4:AA" & DLcolAC).Select
Selection.Interior.ColorIndex = xlColorIndexNone
Selection.Borders.LineStyle = xlLineStyleNone

au-dessus de la ligne de commentaire en vert
'Nettoyage des colonnes AC, AD, AE et AF à partir de la ligne 4 (en cas de réutilisation d'un ancien fichier)

puis refaire un test.

@ plus
 

Aloha

XLDnaute Accro
Re,
Voici le résultat.
Il faut dire que j'avais enlevé le bleu manuellement ce matin, donc ce sont des "bleus" créés par la dernière importation.

A+
Aloha
P.S.: je vais poster le fichier avec tes ajoutes un peu plus tard.
 

Pièces jointes

  • Cellules bleues.JPG
    Cellules bleues.JPG
    132.4 KB · Affichages: 27

Aloha

XLDnaute Accro
Bonjour

Sur l'image que tu as mise, on dirait que c'est bon. Ces plages bleues ne doivent correspondre qu'à des WE, dans des cellules sans aucun symbole, et doivent comporter exactement 44 cellules.

@ plus
Ok, merci!
Si j'efface les données il est normal que le formatage reste (copie d'écran); il n'est effacé par le nouveau bout de code qu'au démarrage de la macro.
Voici aussi la Base modifiée.
A+
Aloha
 

Pièces jointes

  • Formatage.JPG
    Formatage.JPG
    89.4 KB · Affichages: 25
  • Base.xlsm
    390.9 KB · Affichages: 1

CISCO

XLDnaute Barbatruc
Bonsoir

Re,
... donc ce sont des "bleus" créés par la dernière importation.
Pour le moment, quand tu fais un test, comme tu importes plusieurs mois les uns après les autres, les macros :
* transfèrent les données d'un mois, créent les 3 tableaux de droite, font les calculs nécessaires, installent les fonds bleus, les bordures, puis suppriment les 3 tableaux de droite
* font la même chose avec les données du mois suivant, en reclassant tout. Si on n'efface pas les anciennes zones bleues et les bordures, devenues obsolètes à cause du reclassement, le résultat final ne convient pas, d'où l'utilité des lignes de code proposées dans mon post 287.

Ok, merci!
Si j'efface les données il est normal que le formatage reste (copie d'écran); il n'est effacé par le nouveau bout de code qu'au démarrage de la macro.
Effectivement. Les cellules bleues le sont à cause du contenu de Tableau WE, avant qu'il soit supprimé. Et une fois coloriées en bleu, elles le restent. C'est la macro suivante qui effacera ces fonds bleus automatiquement.

@ plus

P.S : Pour améliorer l'ergonomie de la chose, on devrait pouvoir mettre une couleur différente par personne, au lieu d'utiliser que du bleu pour les W.E.
 
Dernière édition:

CISCO

XLDnaute Barbatruc
Bonsoir

Ca a l'air d'être bon. Les cellules bleues sont bien placées entre 6 h le samedi matin et mardi à 6 h (WE), et elles sont vides (repos). Ces cellules indiquent les repos comportant au moins 44 h le WE, donc convenant.

@ plus
 

Aloha

XLDnaute Accro
Bonjour,

Essayant de comprendre ton raisonnement en ce qui concerne le formatage du tableau de gauche, une question: pourquoi, dans le fichier attaché à mon post #292, le 24 et le 25.1. des cellules bleues, donc libres, se confondent avec des cellules encadrées, faisant partie d'une période de 7 jours où la personne n'avait pas ses 44 heures depuis le dernier repos?

Si je dois l'expliquer aux gens qui doivent analyser les résultats (j'ai promis un fichier déjà rempli pour demain, rempli puisque chez eux les macros ne fonctionnent apparemment pas [encore], dans le seul but de contrôler si les calculs sont corrects, chose essentielle), je dois évidemment le comprendre d'abord moi-même.

Pour résumer: les périodes bleues sont les repos tombant le WE et les périodes aux cellules encadrées sont les 7 jours où le salarié n'a pas eu son repos.
Donc, les chiffres en AE et AF correspondent au nombre de périodes bleues resp. au nombre de pésriodes encadrées.
Est-ce juste?

Mais, je suis tombé après sur une partie du tableau qu'en annexe avec beaucoup (trop) de bleus.
A+
Aloha
 

Pièces jointes

  • Bleu et encadré.JPG
    Bleu et encadré.JPG
    143.2 KB · Affichages: 23
Dernière édition:

CISCO

XLDnaute Barbatruc
Bonsoir

Pour ce qui est du post #292, il y a effectivement (au moins) une période avec bordures et une période bleue qui se chevauchent, et c'est... normal. Je m'explique :
Lorsqu'il y a une période de repos d'au moins 44 h, il doit y en avoir une autre de 44 h inclus dans les 7 jours suivant. Donc à la fin de toutes les périodes de repos d'au moins 44 h (Pas forcément juste après ces 44 h de repos, mais à la fin du repos de 44 h ou 45 h ou 46 h ou...), on lance un compteur. S'il y a 7 x 24 cellules encadrées, c'est qu'elles ne contiennent pas 44 h consécutives de repos. Si il y a un chevauchement, le 24 et le 25, c'est que ces 44 h de repos (le WE)... arrivent trop tard !

Me reste plus qu'à voir pourquoi tu as trop de cellules bleues dans ton autre exemple.
Déja, tu ne devrais pas avoir de bleu sur la ligne 191 puisque cela correspond à un jeudi ! De plus, il y a des croix dans certaines cellules bleues, et normalement, cela n'est pas possible : Cellule bleue = 1 h de repos dans une période de repos d'au moins 44 h en W.E.

Peux tu me fournir le fichier Base contenant ces cellules bleues en trop, sans avoir supprimé le tableau WE ?

@ plus
 
Dernière édition:

Aloha

XLDnaute Accro
Re,
J'ai pigé! Tu as raison!
D'ailleurs, on discute depuis un certain nombre de posts des cellules bleues et encadrées, alors que l'essentiel n'est pas que ce formatage se trouve au bon endroit, important seulement pour la compréhension, mais l'essentiel c'est que les calculs soient corrects!
A+
Aloha
 
Dernière édition:

CISCO

XLDnaute Barbatruc
Bonsoir

Re,
J'ai pigé! Tu as raison!
D'ailleurs, on discute depuis un certain nombre de posts des cellules bleues et encadrées... mais l'essentiel c'est que les calculs soient corrects!
A+
Aloha
Et oui, ces zones encadrées ou bleues sont là pour remplacer partiellement les 3 tableaux de droite. Elles ne permettent pas la vérification des calculs intermédiaires, mais seulement si les valeurs affichées dans les colonnes AE et AF sont cohérentes. Elles ne sont pas indispensables.

@ plus
 

Statistiques des forums

Discussions
312 164
Messages
2 085 869
Membres
103 007
dernier inscrit
salma_hayek