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

Je viens de faire une version n'ayant pas besoin d'afficher les 3 tableaux de droite (tableau WE, Tableau repos, et Tableau repos ncp), mais cela ne semble pas aller beaucoup plus vite (9 s au lieu de 10 s), et on ne peut pas vérifier les résultats obtenus... Je la garde sous le coude, au cas où...

En fait, c'est le transfert qui prend le plus de temps (et une fois le fichier plus conséquent, le tri aussi peut-être).

@ plus

P.S : Une fois quelques tests faits sur de véritables fichiers, pourrais-tu me dire le temps nécessaire et le nombre de lignes, approximativement ?
 
Dernière édition:

CISCO

XLDnaute Barbatruc
Bonjour

N'importe comment, il faudra mettre au point les parties début et fin d'année...

J'ai "peur" que cela prenne beaucoup de temps avec 5 ou 6 mois chargés dans le fichier. Si c'est le cas, il y a peut-être moyen de faire sans le tableau trié, celui le plus à gauche, en lisant directement dans les fichiers source. A voir...

@ plus

@ plus
 

Aloha

XLDnaute Accro
Bonsoir,

On verra, je les laisse déjà faire et importer un grand nombre de lignes.
Alternativement je pourrais dupliquer ou plutôt multiplier les fichiers mensuels dont je dispose, cela devrait faire le même effet.
Pour me procurer tous les fichiers mensuels de 2020 c'est un peu difficile; par mail ça ne va pas et je ne me suis pas rendu sur place depuis une année.

Je n'ai plus/pas encore réfléchi au début de l'année. Je vais voir comment ils voient cela, mais ils risquent d'être dépassés avec cette question comme moi-même.

Si le texte était plus précis tout serait clair et plus simple.

J'ai "peur" que cela prenne beaucoup de temps avec 5 ou 6 mois chargés dans le fichier.

Mais ce ne sont que les données nouvellement importées qui sont calculées dans les tableaux; après ils sont "morts", dans le sens qu'ils ne consomment plus des ressources. Voilà pourquoi je ne comprends pas ta remarque.
Il n'y a que les deux colonnes affichant les résultats qui restent avec leurs formules (et s'il fallait il y aurait moyen de les remplacer aussi par les valeurs), et seulement deux formules par personne.

A+
Aloha
 
Dernière édition:

Aloha

XLDnaute Accro
Bonjour,

Je viens d'avoir les conclusions des tests sur place.
Il y a toujours plein de problèmes provenant du fait du changement d'environnement.
Je vais les analyser pour essayer de comprendre ce qui se passe.

Je relate juste le premier problème qu'elle a rencontré et dont je ne comprends pas la raison:
Le fichier Base que je lui avais envoyé est donc au format .xlsm. Elle n'arraivait à le faire démarre; elle a enlevé alors la lettre "m" pour en faire un fichier .xls et elle arrive à l'ouvrir!

Juste un autre problème qui revient à plusieurs fois: erreur 104.

Je vais voir si je trouve les causes des problèmes.

J'aurai demain tous les fichiers mensuels 2020 que je vais importer mois par mois.

A bientôt
Aloha
 
Dernière édition:

Aloha

XLDnaute Accro
Bonsoir,

Le problème doit résider, je ne sais comment, dans l'environnement différent.
J'ai commencé à étudier le contenu du mail.

L'un des problèmes: un message d'erreur 1004 (et non pas 104!): cf. les 2 attaches

Ce qui est très bizarre: les macros ne doivent que travailler sur les fichiers dans ToBeCopied; cependant Excel ouvre et importe un fichier de compta se trouvant autre part!

Puis, ce qui est bizarre aussi: lorsque les fichiers sont ouverts, il y a toujours un message concernant des liaisons que tu as opprimé dans le code; lorsque je teste chez moi le message n'apparaît pas, mais chez elle il apparaît à l'ouverture de chaque fichier.
Qu'elle choisisse l'option de mettre à jour ou de ne pas mettre à jour, et même lorsqu'elle appuie sur X dans le coin supérieur droit, il revient; ce n'est qu'en appuyant sur Esc qu'il disparaît.

Autre problème bizarre: pourquoi son Excel 2016 en français refuse-t-il d'ouvrir le fichier .xlsm? Encore est-il que je ne sais pas quelle est la réaction d'Excel lorsqu'elle veut l'ouvrir; je vais lui demander.
-----UPDATE---
J'ai relu ce qu'elle écrit et si je comprends bien, le fichier s'ouvre et puis il y a un message d'erreur 104. A moins qu'Excel ne l'ouvre même pas et que seul le message s'affiche. J'attends sa réponse.
----FIN UPDATE----
Se pourrait-il que certains problèmes proviennent du fait qu'elle a changé .xlsm en .xls?

Il faudra que je me rende sur place pour voir dans le détail ce qui se passe. Voilà pourquoi tu ne pourras pas m'aider maintenant, mais pour comprendre et résoudre les problèmes que je constaterai moi-même.

A+
Aaloha
 

Pièces jointes

  • Message d'erreur 1004.JPG
    Message d'erreur 1004.JPG
    107.5 KB · Affichages: 8
  • Message d'erreur 1004 - message.JPG
    Message d'erreur 1004 - message.JPG
    19.2 KB · Affichages: 8
Dernière édition:

CISCO

XLDnaute Barbatruc
Bonsoir

Les fichiers en .xls possèdent 2^16 lignes = 65 536 lignes, et ceux en .xlsm 2^20 = 1 048 576 lignes. Si vous avez 130 personnes, cela fait environ 130 x 365 = 47450 lignes, ce qui devrait passer dans un fichier .xls. Donc, le problème ne vient pas du nombre de lignes, sauf si vous avez beaucoup plus de 130 employés (Turnover).

La fonction Autofilter ne passe pas sur Mac.

Sur le net, on trouve pas mal de d'explications sur l'erreur 1004, et diverses méthodes pour contourner ce problème. Mais je ne sais quelle est la bonne dans le cas présent.

@ plus
 
Dernière édition:

Aloha

XLDnaute Accro
Bonjour,

Pour l'instant j'ignore tous les problèpmes qui ne surgissent pas aussi sur mon ordinateur et je me concentre sur les calculs de ces fameuses 44 heures.
Aujourd'hui je recevrai sur DVD tous les fichiers mensuels 2020, je les importerai mois par mois, comme dans la situation réelle, et j'enverrai pour vérification le fichier qui en résultera.
Du moment que tes calculs s'avèrent corrects, je m'occuperai des autres problèmes.

Seulement, l'un des problèmes, le plus mystérieux, ne me sort pas de la tête: comment est-ce possible que la macro n'ouvre pas seulement les fichiers dans ToBeCopied mais qu'elle ouvre un autre fichier qui se trouve tout à fait autre part, et, qui plus est, à chaque essai le même fichier!

J'ai eu des précisions pourquoi elle a changé l'extension de .xlsm en .xls: elle arrive bien à ouvrir le fichier Base.xlsm, elle appuie sur le bouton, la macro commence à s'exécuter puisque le message "You are about to copy..." apparaît, mais ensuite le message d'erreur 1004.

Bon, ce qui me semble mystérieux aussi: pourquoi le message de la mise à jour des liaisons surgit-il alors qu'il y a un bout de code qui doit empêcher le message.

Il faut que je recherche, après 16 ans (!) que le système est en route, pourquoi ce message apparaît, enfin, je pense savoir pourquoi: au début du mois sont produites les feuilles vides à partir du fichier "Mois", et dans ce fichier il y a plein de formules se référant à Base, et il y a donc des liaisons qui ne sont pas "cassées" (remplacées par leurs valeurs) par la macro. Cela ne doit pas être des liaisons ayant un impact sur les calculs, sinon il y aurait des #VALEUR et Cie.

A+
Aloha