Remplissage de fiches de pointage

Bonjour Chers amis

Voilà je vous présente mon problème.

En Faite je viens de créer une sorte de fiches de pointage des employés qui sont réparties sur 04 equipes.

Chaque equipe à un roulement de service (un cycle de 08 jours) présenté dans les tableaux que j'ai mis dans la feuille Configuration.

donc chaque employé travaille 02 jours, 02 nuits et prends 04 jours de repos.

J'ai crée un calendrier perpétuel présenté sous forme de fiches mensuelles pour chaque employé.

chaque fiche contient dans l'entête le mois sous forme "mmmm" et l'année.

l'année est définie à la feuille configuration par la toupie.

les noms des jours du mois sous forme "dddd", la date du jour sous forme "jj" dans les deux premières colonnes de chaque fiche

la troisième colonne contient la description du poste qu'a fait l'employé ce jour là.

l'année bissextile est prise en charge par ces fiches.

alors mon c'est que je souhaiterai pouvoir remplir cette troisème colonne automatiquement et perpituellement lors du changement de l'année comme le cas des jours et des dates (1ère et deuxième colonne).

je n'arrive pas à résoudre çà.

j'espère bien que vous pouvez m'aider.

Merci d'avance à toutes et à tous

le classeur est ci joint

Bonsoir,

Désolé mais je ne comprend pas très bien où tu veux en venir.

Je suppose que, quand tu parles de 3ème colonne, il s'agit, pour le mois de janvier de la colonne F.

Désires tu alimenter cette colonne avec "repos" ; "nuit" etc... ?

Si oui : sur quel critère. Qui définit par quoi on commence ?

Doit on se baser sur le tableau en colonnes A et B qui décrirait la première semaine et toutes les semaines suivantes se répéteraient suivant le même schéma ? les colonnes A et B sont elles à alimenter manuellement et à être reproduite en colonne F ?

Sois plus clair dans ta demande STP. N'oublies pas que nous ne connaissons pas le contexte.

A+

Chris

Bonsoir Chris et merci de m'avoir Répondu

Sois plus clair dans ta demande STP. N'oublies pas que nous ne connaissons pas le contexte.

Désolé j'ai cru que c'était claire

Je suppose que, quand tu parles de 3ème colonne, il s'agit, pour le mois de janvier de la colonne F.

en effet il s'agit de remplir la Colonne "Roulement effectué" de chaque fiche

donc oui c'est la colonne F du Mis de Janvier, la Colonne O de Février, etc...

Désires tu alimenter cette colonne avec "repos" ; "nuit" etc... ?

oui le remplissage ce fait avec Nuit, repos, jour selon la séquence ou le cycle

décrit par le tableau cycle de l'équipe 01, 02, etc...

Doit on se baser sur le tableau en colonnes A et B qui décrirait la première semaine et toutes les semaines suivantes se répéteraient suivant le même schéma ? les colonnes A et B sont elles à alimenter manuellement et à être reproduite en colonne F ?

en faite le tableau présent aux colonnes A et B sont mis à titre indicatif

pour vous donner l'information que çà va commencer le 01/01/2015 et que çà ce repête selon ce même schèma "à l'infini"

c'est à dire quand je passe à l'année suivante çà continue, elle ne se remet pas à zero le 01 janvier de l'année a+1.

j'espère que c'est assez claire maintenant et n'hésitez pas de me poser des questions en cas de besoin

je suis désolé de nouveau

Un grand merci

Bonjour,

Bien cela confirme pratiquement ce que j'avais imaginé.

Je te joins une proposition de solution où j'ai impliqué ton tableau en colonnes A et B : il est maintenant partie prenant puisque c'est lui qui va déterminer le cycle de l'employé envisagé.

Il y a dans le classeur joint un nouvel onglet "Comment cela marche" qui t'explique le plus clairement possible.. tu me donneras ton avis, comment le tableur fonctionne.

Merci de confirmer si cela correspond bien à tes attentes.

Si compléments d'explications nécessaire n'hésite pas à revenir sur le forum.

Bon courage

Chris


Désolé, je m'aperçois que le fichier est de venu trop gros pour ce site.

Le voici par l'intermédiaire du site CIJOINT :

https://www.cjoint.com/c/FAdkhBNwjPb

Clique sur le lien et suis les instructions et tu récupéreras le fichier.

A plus

Chris

Bonjour Chris1945,

Sincèrement un très Grand merci pour votre aide et pour votre ingéniosité

une solution géniale

c'est pratiquement ce que je voulais faire à un petit détail près, c'est que je cherchais à ce que la mise à jour de la colonne du Roulement désiré en changeant l'année se fait automatiquement en fonction des derniers 8 jours de l'année -1 (dans le cas de 2015 vers 2016 par exemple) ou des premiers 8 jours de l'année +1 (dans le cas de 2016 vers 2015 par exemple), c'est à dire (comme indiqué dans le tableau Cycle) si la date de début d'un cycle est définie, de remplir les cycles d'avant et d'après d'une façon automatique.

En faite c'est exactement ce que vous avez fait mais sans avoir à définir le cycle chaque début d'année.

j'espère que ce n'est pas trop demandé est surtout que j'ai bien expliqué .

A plus

Sleh

Bonjour,

Un essai.

Je me sers de Configuration!O:S et de A15 (un peu modifiée) de chaque feuille.

La formule en F16 peut être copiée-collée à droite de toutes les dates.

eric

Bonsoir,

Désolé du retard de réponse

Un très Grand merci à eriiic c'est exactement ce que je cherchais.

Si ce n'est pas trop demandé est ce possible de m'expliquer la fonction que vous avez fait j'arrive pas à la comprendre c'est très intéressant.

mais à part çà je vous remercie de nouveau vous et CHRIS1945 pour votre aide.

Respectueusement

A plus

Sleh

Oula, pas toujours simple d'expliquer ces formules.

Les grandes lignes :

En fait en O:S on défini une date de départ des cycles, et pour chaque équipe l'offset (décalage) sur le cycle à appliquer à cette date.

Ensuite sur une date on a plus qu'à calculer sa différence avec cette date de référence et calculer son modulo 8 (reste de la division par 8 ). Ce résultat nous indique (presque) la position dans le cycle de cette date.

=SI(E16="";"";INDEX(cycle;MOD(E16-INDEX(J_equip;1)+INDEX(J_equip;$A$15+1)-1;8)+1))

INDEX(table;x) nous retourne le xième élément de la table

INDEX(J_equip;1) retourne donc la date référence de début de cycle

E16-INDEX(J_equip;1) : différence des dates

+INDEX(J_equip;$A$15+1) : A15=n° d'équipe, nous retourne donc l'offset de départ de cycle de l'équipe en O2:S2 qu'on ajoute à la différence des dates.

Maintenant on calcule le modulo 8 de tout ça qui nous fournira l'index de la table cycle qui nous intéresse :

MOD(E16-INDEX(J_equip;1)+INDEX(J_equip;$A$15+1)-1;8)+1 : on soustrait 1, on calcule le modulo 8 (on a une valeur entre 0 et 7) et on ajoute 1 pour avoir une valeur entre 1 et 8.

INDEX(cycle;MOD(E16-INDEX(J_equip;1)+INDEX(J_equip;$A$15+1)-1;8)+1) nous retourne le libellé recherché de la table cycle en P6:P13

Peut-être pas très clair mais difficile d'expliquer autrement.

Sélectionne F16 et utilises 'Formules / Audit de formule / Evaluation de formule' pour voir la progression des calculs, ça aide à comprendre.

eric

Merci Infiniement Eriiic

Peut-être pas très clair mais difficile d'expliquer autrement.

sincèrement je trouve que c'est très claire

merci beaucoup à vous tous mes chers amis

Bonsoir,

Pas évident à réaliser mais je pense avoir trouver une solution qui ne remet pas tout en question.

Voici le fichier par le site cijoint : https://www.cjoint.com/c/FAeacGGwH8b

J'ai mis à jour le "Comment cela marche" en fonction des adaptations apportées.

J'espère que cette fois ci cela correspond à ta demande.

Il te reste à créer les différents employés par duplication et à préciser l'EQUIPE à laquelle ils appartiennent (voir le Comment cela marche.

Attention : tout le tableur se calcule à partir des cycles de l'année 2015 qui est considérée comme le départ (il en faut bien un...)

Si tu touches à cette matrice tout le tableur s'adaptera pour les années suivantes donc à manipuler avec prudence.

Pour les années futures, il suffit de dupliquer le classeur et de changer l'année dans l'onglet Configuration.

Bon amusement

A+

Chris

Bonsoir,

Pas évident à réaliser mais je pense avoir trouver une solution qui ne remet pas tout en question.

Voici le fichier par le site cijoint : https://www.cjoint.com/c/FAeacGGwH8b

J'ai mis à jour le "Comment cela marche" en fonction des adaptations apportées.

J'espère que cette fois ci cela correspond à ta demande.

Il te reste à créer les différents employés par duplication et à préciser l'EQUIPE à laquelle ils appartiennent (voir le Comment cela marche.

Attention : tout le tableur se calcule à partir des cycles de l'année 2015 qui est considérée comme le départ (il en faut bien un...)

Si tu touches à cette matrice tout le tableur s'adaptera pour les années suivantes donc à manipuler avec prudence.

Pour les années futures, il suffit de dupliquer le classeur et de changer l'année dans l'onglet Configuration.

Bon amusement

A+

Chris

Bonsoir

un très très très grand merci à vous mes chers amis CHRIS1945 et Eriiic pour votre aide que vous m'avez apporter.

je vous affirme que je ne pourrais pas espérer de mieux sincèrement.

@CHRIS1945

votre solution de validation de données par liste m'a donné d'avance d'idées à ajouter pour apporter d'avantage d'améliorations à la fiche de pointage comme le choix si le jour est travaillé ou bien Congé avec ses différents types etc...

@Eriiic

de même à l'aide du principe de votre solution j'ai essayé aussi d'ajouter le nombre d'heures supplémentaires.

je vais essayer de bien les comprendre afin d'en tirer le maximum

un très grand merci de nouveau pour votre aide.

Respectueusement

A plus Sleh

Bonjour

Pourrais-je vous demander de nouveau, si vous le permettez, comment je pourrais créer une base de données pour ces fiches? (puisque je suis nuls en terme de création de bases de données ) pour que je puisse sauvegarder les données de chaque années vu que lorsque je change l'année c'est une nouvelle fiche qui apparaît.

j'ai essayer d'en créer une (c'est à dire une squelette avec les différents champs que j'en ai besoin) mais je n'arrive pas à savoir comment faire pour y mettre les données à partir des différents mois de chaque fiche d'employé.

Merci beaucoup

Bonjour,

Nomme tout simplement ton fichier avec l'année que tu démarres et tu gardes toutes les années.

eric

Bonjour Eriiic

Merci de m'avoir répondu

En faite c'est ce que je faisais depuis des lustre mais j'ai voulu essayer quelque choses de nouveau.

les fiches sont devenues aussi pratiques j'ai penser avoir une base de données dans laquelle je pourrai sauvegarder tout ceci sans avoir un fichier pour chaque années ainsi que la possibilité d'exploiter toute ces données par reporting.

Merci encore une fois Eriiic

A plus

Bonjour Sleh,

Si je comprend bien ta demande, tu souhaites conserver les informations des différentes années pour pouvoir en faire un reporting portant sur plusieurs années ?

Si c'est bien cela que tu veux, il est tout à fait possible de faire un reporting dans un tableur qui va chercher les informations dans plusieurs classeurs différents. Fais un projet de reporting et nous pourrions regarder cela pour t'aider.

Comme le dit Eriic, il te suffit de sauver chaque année et de repartir avec un classeur vierge (que tu peux d'ailleurs garder en réserve pour éviter de devoir le remettre à blanc chaque année).

Fais quand même attention avec ce genre de statistiques sur plusieurs années portant sur du personnel : même si ton entreprise à une faible rotation de son personnel il doit y en avoir une et tu vas te retrouver avec des gens en plus et en moins ; avec des départs en cours d'année et des arrivées en cours d'année... Bref : pas facile à gérer.

Une autre solution consisterait à consolider les informations d'une année dans une base de données compilées de plusieurs années et d'exploiter les statistiques à partir de celle-ci. Cela demanderait de passer aux solutions en VBA et il faudrait d'abord se demander si l'on ne va construire un marteau pilon pour enfoncer un clou...

Définis d'abord bien ce que tu désires faire et reviens nous.

A+

Chris

Bonsoir

Merci CHRIS1945 de votre réponse

En faite comme je viens de dire à Eriiic, la sauvegarde de chaque année je la fait comme vous le dites aussi, juste que je voudrai bien apprendre le reporting et rien ne pourra me faire apprendre que la pratique, ce qui m'a donner l'idée de le faire sur ce même classeur ==> j'apprends et je fais quelques choses d'utile en plus

merci infiniement pour votre Aide que vous m'avez apporter, vous et Eriic, sans laquelle je n'aurai pas pu avoir un si bon résultat

A plus

Sleh

Rechercher des sujets similaires à "remplissage fiches pointage"