Ajouter macro fichier gestion heures, absences et compta analytique

Ci joint ton dernier fichier avec les évolutions
Attention à ne pas supprimer l’onglet « Mois » il est nécessaire pour le traitement onglet « Paramètres » du bouton « Intégration salariés »
dans cet onglet « Mois » tout le paramétrage de chaque onglet 1/2/3 etc… est récupéré afin de les vider pour introduire dans l’ordre alphabétique les salariés légitimés par leur date avec remise en place des saisis si celles-ci étaient présentes en les reprenant de cette recopie provisoire
Donc l’onglet « Mois » dans cette opération est indispensable surtout ne pas le supprimer

Attention à la cellule de l’onglet « Formulaire » D12 qui porte la première date de la semaine
J’ai modifié la formule qui la met en place
Au lieu de

=D9

j’ai modifié comme ceci

=DROITE(D9;10)

pour ne prendre que la partie date de la cellule D9 sans le nom du jour

C’est très important pour permettre l’affichage normal des jours qui suivent ligne 12 colonne E à J

J’ai intégré tous les traitements du formulaire « usfSaisieSalarie »
J’ai utilisé pour la fenêtre du Nom du salarié une combobox qui permet de choisir un de ceux en place plus facile d’utilisation et sans risque d’erreur de saisie et de pouvoir réaliser la modification d’une ou plusieurs de ses données
Seule la ou les données saisies sont modifiée les autres restent avec celles en place si aucune modification demandée
Pour un nouveau salarié une saisie manuelle de celui-ci dans la combobox doit être réalisée avec minimum la date d’entrée les autres critères ne sont pas obligatoires

Donc en résumé pour ce formulaire la donnée de la combobox est obligatoire (saisie ou choix)
avec pour un nouveau salarié la nécessité de la date d’entrée
Les autres champs son facultatif

Seules ceux présents sont pris en compte en création ou modification

A la validation un message propose la réactualisation de tous les onglets 1/2/3 etc…

Pour le traitement du bouton « Effacer » un choix dans la combobox doit être effectué et après une confirmation celui-ci est supprimé de l’onglet « Salarié »

Le bouton « Quitter » ferme le userform

Pour y accéder onglet « Salarié » un bouton « Gestion salariés »

Pour la donnée « Poste » il est possible de mettre en place un autre combobox et ainsi en remplacement d’une saisie fastidieuse d’avoir à choisir l’item approprié
Reste à établir la liste dans un onglet une colonne à choisir
A toi de voir

Pour l’ouverture du fichier toujours la saisie du nom et du mot de passe
Pour un salarié « X » après ces 2 données valides le fichier donne accès à l’onglet « Formulaire » ouvert à toutes manipulations et aux onglet 1/2/3 etc… en lecture seule uniquement ceux-ci sont protégés en écriture
Pour l’instant aucun mot de passe pour leur dé-protection
Voir cette nécessité qui obligera à en gérer un supplémentaire

Pour le salarié autorisé il est possible de saisir le nom qui est associé au mot de passe d’accès intégral à tout le classeur
Actuellement en cellule Q2 onglet « Paramètres » : toto
Celui-ci a été associé au nom : « NOM » colonne O/P de cet onglet
ce mot de passe optimum doit être identique à celui qui ouvre l’ensemble avec le bouton « Onglets » de l’onglet « Formulaire »
Ainsi à l’ouverture du classeur de saisir comme nom « NOM » et son mot de passe associé colonne O/P onglet « Paramètres » soit « toto » déverrouille l’ensemble du fichier
Affichage de tous les onglets sans aucun protégé
Toute modification onglet « Paramètres » du mot de passe en cellule Q2 (toto actuellement) doit être aussi effectué colonne O de cet onglet en regard du nom colonne P qui est autorisé à accéder à l’ensemble du fichier (NOM actuellement)

Le traitement du bouton « Valider » onglet « Formulaire » inclus la donnée G25 de celui-ci dans l’onglet traité 1/2/3 etc… colonne AN

J’espère avoir fais le tour

Testes et dis moi

Gestion heures personnel (7).xlsm (242,8 Ko)

Bonjour FFO,

Je suis en train d’essayer ton fichier et je rencontre quelques problèmes que je n’avais pas avant :

  • Lorsque je valide les données se copie-colle dans l’onglet « Récap saisie »


    mais plus sur l’onglet du mois

  • Tous les grands déplacements se copie-colle dans l’onglet « Récap saisie » même s’il n’y a pas de noter « oui » en ligne 18 de l’onglet « Formulaire », image

  • Lorsque j’essaie de rouvrir le fichier ce message d’erreur apparaît image

lorsque je clique sur débogage voici le code

Peux-tu s’il te plaît me dire d’où vient le problème ?

Bonsoir

Problème sur les protections/déprotections
Pas simple à gérer
Testes avec ce nouvel exemplaire joint et dis moi

Gestion heures personnel (7).xlsm (245,3 Ko)

Encore un petit réglage concernant les protections qui traite un cas particulier
Ci-joint cette nouvelle version qui l’intègre

Désolé pour ces petits rectificatifs à répétition mais pas facile de faire cohabiter toutes les particularités de manière harmonieuse

J’espère que le fonctionnement de l’ensemble conviendra

Gestion heures personnel (7).xlsm (248,3 Ko)

Pas de soucis, je suis très contente de ton aide et ne permettrais pas de me plaindre.
Je viens d’essayer ton fichier, c’est impeccable pour les copier-coller dans l’onglet « Récap saisie » et sur l’onglet mois.
Le nombre des grands déplacements n’est pas bon car il n’additionne pas chaque saisie, je pense qu’il faut utiliser le tableau de l’onglet « récap saisi » pour récupérer les données la fonction INDEX EQUIV (mais je ne sais pas comment l’utiliser)

Je te formule ce que je pense aller chercher afin d’obtenir le résultat souhaité :

  • Sous l’onglet mois rechercher le NOM en colonne A,
  • Calculer la somme des grands déplacements sous l’onglet « récap saisi » en recherchant le NOM (colonne V) et en fonction également de la date (colonne W) >= au 1er jour du mois (cellule A1) et <= au dernier jour du mois (cellule A2)

. Précision très importante, ces frais (gd déplacement et panier repas) ne sont que pour les tuyauteur-soudeur et non pas pour les techniciens de maintenance. C’est pour cela que ma formule : =SI(ET($H$7=« Tuyauteur soudeur »;D14=« T »;D18="");1;"") indique que :

  • si en cellule H7 il est noté « Tuyauteur soudeur » et que le type de saisie correspond à « T » (temps de travail) et que la cellule est vide
  • Alors on note 1 (1 panier repas pour la journée)
  • Sinon on laisse la cellule vide
    Mais si tu n’arrives pas à le gérer ici, je peux le faire à partir d’une formule sur les onglets mois.

J’avais des formules qui ne fonctionnaient plus pour mes calculs avec le dernier fichier car des Recherchev ne trouvait plus la tableGestion heures personnel (7) (1).xlsm (238,0 Ko) . Je les ai remise dans le fichier joins

Bonjour

Essaie avec ce nouveau fichier
Les grands déplacements à chaque traitement du bouton « Valider » cellule G25 de l’onglet « Formulaire » si celle-ci n’est pas une valeur nulle s’ajoute à la données du mois colonne AN au lieu de remplacer celle-ci

Testes et dis moi

Gestion heures personnel (7) (1).xlsm (232,2 Ko)

Bonjour FFO,

Parfait cela fonctionne et additionne les grands déplacements.

Je souhaiterais que lorsque le salarié saisisse sa semaine de travail, il ne puisse plus refaire une saisie sur cette semaine là.
Ex : NOM 1 a saisi son temps de travail des semaines 1 à 4, lorsqu’il va s’identifier je souhaite qu’en cellule D9 du formulaire cela arrive sur le lundi 01/02/2021 (semaine 5) et qu’il ne puisse plus faire de saisie des semaines déjà enregistrées.
Il faut que la date en cellule D9 du formulaire corresponde à la prochaine date pour chaque salarié.
Ex : si NOM 1 a sa dernière saisie qui s’arrête en S.4 alors à l’ouverture du fichier il est noté en cellule D9 le lundi 01/02/2021 (semaine 5).
Pour NOM 2 a sa dernière saisie qui s’arrête en S.2 alors à l’ouverture du fichier il est noté en cellule D9 le lundi 18/01/2021 (semaine 3)

Je te joins le fichier à modifier Gestion heures personnel (7) (1).xlsm (239,0 Ko) car j’avais une formule pour les paniers repas qui n’avait pas été actualisé sur ton dernier fichier, j’ai du oublié d’enregistrer avant de te l’envoyer.

Je te remercie pour ton aide :+1:

Ravi que cela te convienne

« Je souhaiterais que lorsque le salarié saisisse sa semaine de travail, il ne puisse plus refaire une saisie sur cette semaine là. »

Le plus simple serait de marquer la dernière semaine saisie à côté du nom onglet « Salarié » que le traitement viendrait consulter
Si saisie semaine suivante « OK » si même semaine ou précédente non « OK » et d apter en consequence les dates de l onglet « Formulaire » en fonction

Qu’en penses tu ?

Je suis également ravie que cela fonctionne, comme cela t’arranges. Tu m’avais dit d’éviter de metttre sur l’onglet salarié afin d’éviter de commettre une erreur, cela peut-être sur l’onglet paramètres ou mois, d’ailleurs est-ce que cet onglet peut-être masqué afin que si une personne autre que moi l’utilise et ne voit aucune veuille la supprimer (comme je l’ai fais auparavant :star_struck:)

Je me posais une question sur l’utilisation du fichier car il va certainement y avoir des moments où ils vont vouloir utiliser le fichier en même temps, comment peut-être gérer ce soucis.

Pour les astreintes, il faudrait procéder comme pour les grands déplacements copier-coller dans l’onglet « Récap saisie » le nom, la date et le temps d’astreinte image
et ajouter également la ventilation analytique pour les heures d’astreintes, il faudrait utiliser le même useform que pour les grands déplacements, il y aura besoin de peut-être plus que 5 cases ou sous un autre format si les heures ne sont pas intégralement ventilées possibilités de saisir autant de fois que le temps ne sera pas intégralement ventilé.

Je te remercie pour ton aide et bonne soirée.

Bonjour

Ci-joint ton dernier fichier avec l’évolution des semaines à saisir en fonction de celles déjà saisies
Onglet « Paramètres » colonne « AB » la date de la dernière saisie sinon cellule vide (attention cette partie doit régulièrement être réactualisée pour avoir l’ensemble des salariés)
Sur la base de cette donnée à l’ouverture du classeur affichage de la semaine qui doit être traitée
(semaine suivante à celle de la donnée colonne « AB » ou première semaine si celle-ci est vide)

Si l’utilisateur choisi une autre semaine que celle proposée un message indiquant la semaine à réaliser avec remise de celle-ci

Seule cas particulier qui n’est pas concerné le nom qui ouvre l’intégralité du fichier sans aucune contrainte pour l’instant « NOM » mot de passe « toto »

« Je me posais une question sur l’utilisation du fichier car il va certainement y avoir des moments où ils vont vouloir utiliser le fichier en même temps, comment peut-être gérer ce soucis. »

Si il n’y a qu’un seul fichier concerné que chacun alimente aucun souci son utilisation ne peut être qu’unique l’un après l’autre pas d’autre choix et c’est la seule solution possible
Ne pas prévoir plusieurs fichiers ce sera le bazar organisé je parle par expérience ayant été confronté à la situation au cours de ma vie professionnelle

« Pour les astreintes, il faudrait procéder comme pour les grands déplacements copier-coller dans l’onglet « Récap saisie » le nom, la date et le temps d’astreinte »

Je suppose que la source est la cellule « G26 » de l’onglet « Formulaire » qui fait la somme des « Oui » ligne 20
Mais qu’elle date doit y être associée ??? (celle du Lundi/Mardi/Mercredi/Jeudi/Vendredi)
De plus ces paramètres sont à inclure colonne AA/AB/AC de la même ligne ou de manière indépendante (première libre de ces colonnes) ?

Pour la ventilation analytique des heures d’astreintes si on utilise le même Userform ses sources et cibles seront les mêmes que pour la ventilation analytique en place sinon un autre Userform est préférable (bien me déterminer le contour de fonctionnement)

Je te joins ton fichier avec l’évolution des semaines à saisir

Testes et dis moi

Gestion heures personnel (8).xlsm (256,2 Ko)

J’ai fais une petite correction dans le traitement « Intégration salariés » onglet « Paramètres » pour intégrer la gestion des dates de saisie colonne AB
A chaque modification les concernant ne pas oublier de réaliser ce traitement
Prends cette nouvelle mouture qui l’intègre

Désolé
Gestion heures personnel (8).xlsm (258,4 Ko)

Bonjour FFO,

Je viens d’utiliser ton dernier fichier il fonctionne bien avec à l’ouverture pour chaque salarié, la date à laquelle il est rendu à saisir (du coup, je pense que la liste de choix en cellule D9 ne sert plus à rien car toutes les semaines sont à saisir) :+1:

Il y a encore les formules en ligne 14 du formulaire qui ont disparues, de ce fait sur les onglets mois, les codes (R, CP, M…) n’apparaissent plus (ici en S.3 les codes CP ne se sont pas affichés)

et les heures et codes (R, CP, M…) ne s’affichent plus dans l’onglet « Récap saisie »

J’ai rajouté dans ton fichier ici Gestion heures personnel (8).xlsm (257,8 Ko) et modifié une formule qui avait une coquille.

Je voulais voir avec toi car il me semble que la date d’entrée ne fonctionne pas, en effet dans les dates d’entrées que tu as noté dans l’onglet « salariés » sont en 2022 et 2024, on ne devrait donc pas les voir sur le planning comme nous sommes sur l’année 2021.

Les heures d’astreintes à copier-coller sont les heures notées sur l’onglet « formulaire » Ligne 21 si en ligne 20 il est noté oui
Ex:

Il faudra alors que les données soit copier-coller sur l’onglet « Récap saisie »

  • en colonne AA « NOM Prénom » à récupérer en cellule D7 du « formulaire »
  • en colonne AB « Date » à récupérer en ligne 12 du « formulaire »
  • en colonne AC « Temps astreintes » à récupérer en ligne 21 du « formulaire »
    Ex :
    image

En ce qui concerne la ventilation analytique, je réfléchis encore car le userform tel qu’il est me paraît bien, je parle de la mise en forme et non du codage. Ce qui me pose souci c’est que le temps d’astreinte peut-être ventilé pour pleins de codes différents, de ce fait mes 5 cases ne seront pas assez mais il peut n’y avoir aussi que quelques cases de remplis.
Vois-tu une autre façon de gérer cela ?

Je te remercie pour ton aide, bonne soirée

Bonsoir

Merci pour ton retour

« du coup, je pense que la liste de choix en cellule D9 ne sert plus à rien car toutes les semaines sont à saisir »

Cela ne coute rien que de la laisser
Comme on le dit qui peut le plus peut le moins

De plus si tu rentre avec ton nom et mot de passe d’administrateur tu peux l’utiliser

« Il y a encore les formules en ligne 14 du formulaire qui ont disparues, de ce fait sur les onglets mois, les codes (R, CP, M…) n’apparaissent plus (ici en S.3 les codes CP ne se sont pas affichés) »

Effectivement je l’ai constaté sur la dernière version que je t’ai transmise
Après les avoir toutes remises aucun des traitements tests à l’appui ne les a à nouveau supprimé
Non seule une intervention manuelle peux l’expliquer

A voir

« Je voulais voir avec toi car il me semble que la date d’entrée ne fonctionne pas, en effet dans les dates d’entrées que tu as noté dans l’onglet « salariés » sont en 2022 et 2024, on ne devrait donc pas les voir sur le planning comme nous sommes sur l’année 2021. »

Tu veux parler du traitement du bouton « Intégration salariés » de l’onglet « Paramètres » je suppose

Effectivement aucune intégration dans tous les onglets 1/2/3 etc… du fait des dates sauf celui de Nom13 Prénom qui se positionne dans l’onglet 1 ce qui est conforme aux siennes :

Date d’entrée 01/01/2021
Date de sortie 31/01/2021

il se trouve donc légitimement en onglet 1 mais non dans les autres

Ce traitement pour moi fonctionne correctement

Qu’est ce qu’il ne te conviens pas ?

Merci de m’éclairer

« Les heures d’astreintes à copier-coller sont les heures notées sur l’onglet « formulaire » Ligne 21 si en ligne 20 il est noté oui »

On ne traite pas comme le Total Grand déplacement pour lequel seul le total cellule G25 est mis en colonne AN de l’onglet 1/2/3 etc… traité
Là il faut reporter jour par jour les données ligne 21 de manière détaillée une par une chacune sur sa ligne accompagnée du Nom Prénom et de sa date
Ais je bien compris ?

« En ce qui concerne la ventilation analytique, je réfléchis encore car le userform tel qu’il est me paraît bien, je parle de la mise en forme et non du codage. Ce qui me pose souci c’est que le temps d’astreinte peut-être ventilé pour pleins de codes différents, de ce fait mes 5 cases ne seront pas assez mais il peut n’y avoir aussi que quelques cases de remplis.
Vois-tu une autre façon de gérer cela ? »

Si le nombre de cases est insuffisant sur une saisie pourquoi ne pas après la première en réaliser une seconde en suivant ?

Ce serait un bon compromis

A toi de voir

Cela fonctionne lorsque tu cliques sur intégrer salarié. Par contre, si je m’identifie exemple avec NOM1 Prénom (date entrée en 2022), je commence en cliquant sur intégrer salarié nom13 prénom se met sur le mois 1 et seulement lui car les autres ont des dates d’entrée postérieure, et ensuite si je valide le formulaire les données se copie-colle sur le planning de 2021 après le NOM13 Prénom cela ne devrait pas être possible.
Si un salarié rentre le 01/03/2021, sur le formulaire il ne devrait pas y avoir la possibilité de saisir une date antérieure à sa date d’entrée. Il devrait commencer la saisie au 01/03/2021

Le Total astreintes G26 tu le traites dans les onglets mois en colonne AL, tu fais l’addition à chaque fois que l’on clique sur valider du formulaire comme pour le total gd déplacement.
Oui il faut reporter jour par jour, les données comme tu le fais pour les grands déplacements que tu copie-colle en colonne V, W et X de l’onglet récap saisie

C’est ce que je souhaites mais je ne sais pas comment le matérialiser

Merci pour ton retour.

« et ensuite si je valide le formulaire les données se copie-colle sur le planning de 2021 après le NOM13 Prénom cela ne devrait pas être possible. »

Et si c était l objet d une de mes explications dans laquelle je précisais que seule la procédure de l onglet "Paramètres " « Intégration salarié » nettoie et organise la présence de chacun d entre eux en fonction de leur date et en ordre alphabétique
Le traitement « Valider » de l onglet « Formulaire » n a pas cette fonction
Il recherche le nom dans l onglet du mois traité pour lui associer sur sa ligne toutes les données
Si celui-ci est absent il rapporte tous les paramètres dans la première ligne libre de ce mois
Reste à reexecuter le traitement de l onglet « Paramètres » « Intégration salariés » après avoir vérifié la cohérence de la liste de tous les salariés et de leur date onglet « Salarié » pour opérer un nettoyage correct des onglets mois et de supprimer les intrus éventuels
Donc si une saisie est rentrée à tord dans un onglet mois voir si il n y a pas un oubli ou une erreur onglet « Salarié » puis un simple clique sur le bouton « Intégration salarié » et tout rentre dans l ordre
Une saisie d un nom onglet « Formulaire » pour un mois où celui-ci ne figure pas peut être soit une erreur de l utilisateur soit une mauvaise actualisation des onglets voir une erreur ou omission dans la liste onglet « Salarié »
C est une des raisons pour lequel j ai choisi ce fonctionnement
Toute saisie est intégrée seule le traitement « Intégration salarié » choisi ou non de le maintenir

Pour le reste je regarde et fera l objet d un nouveau fichier

Bonjour

Nouvelle version intégrant cette évolution :

Il faudra alors que les données soit copier-coller sur l’onglet « Récap saisie »

  • en colonne AA « NOM Prénom » à récupérer en cellule D7 du « formulaire »
  • en colonne AB « Date » à récupérer en ligne 12 du « formulaire »
  • en colonne AC « Temps astreintes » à récupérer en ligne 21 du « formulaire »
    Ex :
    image

De plus j’ai modifié le userform de saisie des codes analytique

J’ai rajouté un bouton « Saisie supplémentaire »
celui-ci capitalise la ou les premières saisies onglet « Paramètres » colonnes AF à AI vide la saisie en cours mais conserve « le reste à ventiler » et au grés des saisies suivante continue à le faire évoluer

A la validation finale la petite case à côté du nouveau bouton étant côcher le traitement du bouton « Valider » récupère toutes les saisies capitalisées onglet « Paramètres » colonne AF à AI pour les inclure onglet « Récap saisie » en colonne Q à T puis intègre les dernières saisies à la suite

J’ai mis colonne T de cet onglet au format standard pour avoir une bonne restitution des temps avec le format HH:MM

Ci-après le nouvelle exemplaire intégrant toutes ces nouvelles évolutions

Testes et dis moi

Gestion heures personnel (9).xlsm (260,8 Ko)

Bonjour FFO,

Je te remercie pour ton fichier, je viens d’essayer le fichier, c’est super le copier-coller des heures d’astreintes en colonne AA à AC fonctionne.
image

C’est très bien d’avoir rajouter le bouton « Saisie supplémentaire », cela solutionne bien la problématique lorsqu’il y a plus de code à renseigner. Cependant, je constate un problème dans le format de date, la date de saisie est le 04/01/2021, sur la saisie des premiers codes analytiques le format est MM/JJ/AAAA au lieu de JJ/MM/AAAA. je t’ai fais une capture en rouge le mauvais format.
image

J’ai refais un userform pour ventiler les heures d’astreintes, j’ai repris la mise en forme du userform1
image

Il faut reporter ces données si possible dans l’onglet « Récap saisie » en ajoutant une colonne (dans l’exemple ci-dessous colonne S) je ne l’ai pas ajouté car je ne sais pas si cela VA « casser » tes codes existants afin de spécifier le type de saisie (Temps de travail ou Astreinte) tel que image

Gestion heures personnel (9).xlsm (251,8 Ko)

Merci et bonne soirée

Bonsoir
Cela progresse donc dans le bon sens

Je regarde l anomalie d affichage des dates

« afin de spécifier le type de saisie (Temps de travail ou Astreinte) »

Sur quel indicateur faut il se baser pour cette distinction

Merci de me dire

Ah mince j’ai oublié de te dire ce point là.
Pour le temps de travail cela correspond à la case à cocher ligne 22.
Pour l’astreinte peux-tu ouvrir le userform2 lorsque un temps est indiqué en ligne 21 et utiliser ce temps pour le décompte du userform du restant à ventiler ?
Merci et bonne soirée

Bonjour

Ton fichier ci-joint avec les dernière évolutions souhaitées
J’ai corrigé l’anomalie des dates
J’ai intégré la saisie des astreintes dans le même userform
Ainsi il n’y a qu’un formulaire à faire vivre au lieu de deux
Pour déterminer le type de saisie une boîte de dialogue au clique d’une case demande le type de la saisie :

1 : temps de travail
2 : temps d’astreinte

la saisie du chiffre approprié détermine le type de saisie et prend en conséquence en considération le temps soit ligne 15 soit ligne 21

Si celui-ci n’est pas présent un message informe de ce manque avec arrêt de la procédure

Le nom du userform en haut de sa fenêtre est adapté en conséquence

Pour le choix 1 : « Ventilation analytique »
Pour le choix 2 : « Ventilation analytique astreinte »

Pour le reste c’est le même fonctionnement quelque soit le type choisi

J’ai rajouté une colonne (« S ») pour reporter le type (Temps de travail ou Astreinte) dans l’onglet « Récap saisie »

Pour cela j’ai ajouté après la colonne « R » une colonne supplémentaire décalant toutes les autres et d’adapter toutes les procédures impactées par ce déplacement

Je les ai toutes testées cela semble fonctionner

Je compte sur toi pour me le confirmer

Fais des essais et dis moi

Je n’ai donc pas fais fonctionné ton deuxième formulaire

Ton fichier avec toutes ces adaptations

Gestion heures personnel (9-2).xlsm (259,2 Ko)