Ajouter macro fichier gestion heures, absences et compta analytique

Bonsoir

Nouvelle version ci-jointe
Celle-ci traites la saisie des codes analytique et l’enrichissement de toute celle-ci et celle effectuée onglet « Fortmulaires » dans l’onglet « Recap saisie »
7 côches à utiliser de manière unitaire
l’utilisation d’une côche supprime toute côche en place avec sa saisie éventuellement effectuée
Lorsque une côche est activée le formulaire de saisie « Ventilation analytique » s’ouvre avec le NOM Prénom, Date, Temps total correspondant dans les Textbox appropriés et ce grisés afin de ne pas être malencontreusement modifiés
Les saisies Code analytique et Temps passé peuvent s’effectuer
Pour l’instant c’est une saisie manuelle pour les 2 données
On peut envisager au moins pour la saisie Code analytique une liste déroulante qui pointerait sur une colonne à déterminer onglet « Paramètres » dans laquelle tous les codes seraient listés
Ce serait plus simple pour l’utilisateur
A toi de voir

Une fois cette saisie effectuée l’action du bouton « Valider » l’enregistre onglet « Paramètres » colonne S à V
Une sortie autre que par ce bouton (croix rouge) n’effectue aucun enregistrement et de retomber dans l’onglet « Formulaire » dans le même état initial
Pour réaccéder au formulaire de saisie « Ventilation analytique » des codes analytiques il faut réaliser une nouvelle côche ou par validation des données onglet « Formulaire » avec la présence de la première côche réalisée en cliquant sur le bouton « Valider » le traitement de ce bouton proposera cette nouvelle saisie détectant que celle-ci malgré une côche activée n’a pas été enregistrée

Une fois toutes les données en place l’activation du bouton « Valider » de l’onglet « Formulaire » enrichit l’onglet « Récap saisie » de celles-ci sur la première ligne disponible

Je n’ai pas su traiter la colonne « J » de cette onglet
J’ai comme information dans cette cellule : « ’=Total_H_Travaillées »

Je ne vois à quoi cela correspond

Merci de m’éclairer

Ci-joint donc ton fichier avec toutes ces évolutions

Testes et fais moi un retour

Gestion heures personnel (3).xlsm (187,8 Ko)

Bonjour FFO,

J’ai essayé ton fichier, il y a des copier-coller qui fonctionnent et d’autre pas.
Je t’ai fait des copies écran dans le pdf joins afin d’essayer de t’expliquer simplement :wink:
Impession écran Gestion heures personnel.pdf (179,4 Ko)

Pour la liste déroulante du formulaire « Ventilation analytique » je ne suis pas sure que cela soit bénéfique car nous avons plus de 50 projets et d’autres viendront dans les années à venir. Est-il possible que la saisie du code soit en majuscule par défaut (que le clavier soit en minuscule ou majuscule) et que le format du temps soit en hh:mm

J’ai modifié la formule en cellule G9 car il y avait une erreur lors de la recherche de la semaine.

Merci pour ton aide et bonne soirée.
Gestion heures personnel (3).xlsm (179,8 Ko)

Bonjour
Concernant le nombre d heures saisi en rapport avec le nombre d heure total je découvre
Donc effectivement aucune procédure en place à cette fin
Dans la prochaine version je l intègre

« Une fois cette saisie effectuée l’action du bouton « Valider » l’enregistre onglet
« Paramètres » colonne S à V (le tableau que j’ai fait dans l’onglet « récap saisie »
colonne Q à T est l’emplacement auquel je souhaite que les données soit collées) »

Les colonnes S à V onglet « Paramètres » sont transitoires pour capitaliser la saisie des codes analytique
C est à la validation de l onglet « Formulaire » bouton « Valider » que celles-ci sont basculées onglet « Recap saisie » colonnes Q à T
Ainsi d obtenir en plus de la validation de la décomposition dans le userform une deuxième validation générale de la saisie totale avec le bouton « Valider » de l onglet « Formulaire » par l utilisateur

« J’ai un souci pour la validation du formulaire de saisie « Ventilation analytique », il
supprime les données au fur à mesure. Lorsque je valide, jour après jour, il efface les
données précédemment enregistrées »

Si tu parles de l onglet paramètre colonne S à V tout à fait normal ces colonnes n ont une utilité que transitoire tout est capitalisé onglet « Recap » à l activation du bouton « Valider » de l onglet « Formulaire »
Sinon je ne vois pas ce que tu veux dire
Il faut savoir que l onglet « Recap saisie » est alimentée par les traitements reste à l utilisateur a enregistrer le classeur avant sa fermeture sinon tout est perdu

J ai fait des saisies successives sans souci elles se sont toutes retrouvées onglet « Recap saisie » les unes après les autres
Il faut pour cela bien valider avec le bouton « Valider » de l onglet « Formulaire » après chaque saisie

Pour la colonne X onglet « Récap saisie » une petite correction à apporter

Apportes moi tes réponses au regard de mes commentaires

Je te réalise une nouvelle version en fonction

Ci-joint une nouvelle version qui intègre ces évolutions :

Vérification du nombre d’heures déclarées en fonction de son nombre total
Avec message si celui-ci diffère invitant à compléter ou corriger
A cette fin je vérifie cette cohérence onglet « Paramètres » colonne W à Y car réaliser cette comparaison dans le userforme est mission presque impossible
La cohérence est jugé en cellule Y2 par une formule
Si celle-ci donne 0 OK sinon différence
J’ai rajouté une mention dans le userforme pour le format de cette saisie (hh:mm)

Mise en majuscule automatique à la validation bouton « Valider » des codes Analytique dans la saisie du userform

Correction des données reportées onglet « Recap saisie » colonne V à X

Ci-après copie d’écran de cette onglet après 3 saisies successives :

Présence donc de toutes les saisies les unes en dessous des autres à partir de la ligne 4 (la ligne 3 était déjà présente au départ de ces saisies)

L’archivage fonctionne correctement

Constates par toi même et dis moi

Gestion heures personnel (4).xlsm (188 Ko)

Bonjour FFO,

Je teste ton fichier et je ne comprends pas pourquoi cela ne fonctionne pas.
Serait-il possible de faire un teamviewer ou autre afin que je te montre en direct ce qu’il se passe.
Peut-être que j’ai un bug sur ma version d’Excel ?

Bonsoir
Procède pas à pas
Après la saisie du nom et mot de passe tu te trouves devant l onglet formulaire
Après avoir verifié l absence de toute coche cliques sur le bouton « Valider » puis vérifies onglet « Recap saisie » la présence des données
Si OK refais un clique sur ce même bouton onglet « Formulaire » et retourne sur l onglet « Recap sasie » l ajout des mêmes données une deuxième fois
Éventuellement fais plusieurs fois cette action pour constater la multiplication des mêmes lignes de données
Puis ensuite fais une coche sur la première case à cocher
Le userform de saisie des codes analytiques dois s ouvrir
Fais une seule saisie avec une heure équivalente au total d heures puis cliques sur le bouton « Valider » de ce userform tu retombes devant l onglet « Formulaire »
Sur cette onglet cliques sur le bouton « Valider » puis regardes l onglet « Recap saisie » l ajout d une même ligne de données avec en plus la saisie du code analytique que tu as effectué

À ce niveau dis moi ce qui a fonctionné comme je te l ai décrit

Bonjour

Une nouvelle version ci-jointe avec une petite correction qui j’espère pour toi sera salvatrice

Fais des essais pas à pas comme je te l’ai décris

Fais moi un retour

Gestion heures personnel (4).xlsm (184,7 Ko)

Bonjour FFO,

J’ai essayé ton fichier j’ai compris pourquoi cela ne fonctionnait pas avec ton descriptif (il faut enregistrer le fichier sinon les données ne se notent pas.
Le userform de saisie des codes analytiques s’ouvre et lorsque j’enregistre un message box apparaît si le temps de saisie ne correspond pas au total.
Je te joins un descriptif afin de t’expliquer les difficultés rencontrées
Impession écran 2 Gestion heures personnel.pdf (205,9 Ko)
le fichier avec un peu de saisie Gestion heures personnel (4) (1).xlsm (184,7 Ko)
Et un fichier sur lequel j’ai travaillé et qu’un autre forumeur Zebulon2 du forum ExcelPratique m’a aidé dans la réalisation des macros du fichier planning-annuel-Mod�le.xlsm (545,6 Ko)

Je te remercie pour ton aide.

Bonne soirée

Le message dans le userform n’est pas actif, il reste HH:MM. Je souhaiterais un message comme dans le fichier
joins (lors de la saisie des CP le solde s’affiche en-dessous avant saisie et pendant )

Il faudrait être plus clair sur ce point c’est nébuleux pour moi

« J’ai voulu essayer en faisant comme si le salarié se trompait et ventilait plus d’heures que ce qu’il a réellement
travaillé, le message box apparaît. Je constate un problème malgré l’effacement des données et que l’on remplit le
bon temps total le message s’affiche tout le temps. Par contre l’erreur ne se produit pas si le temps total ventilé est
inférieur au temps total travaillé. »

Je testes et regardes

« La validation du formulaire avec le bouton valider doit enregistrer directement sur l’onglet « Récap saisie » et
effacer les données saisies par le salarié (il ne doit rester que le Nom et prénom de renseigner et si possible que le
lundi (D9) passe directement au suivant. »

C’est prévu comme cela mais derrière le bouton « Valider » du Formulaire uniquement et non celui du userform

« Le format des cellules en colonnes M et N (onglet « récap saisie » se met en heure alors qu’il s’agit d’un nombre
sans décimal, j’ai modifié dans les fichiers précédents mais le problème revient à chaque nouveau fichier, cela doit
venir de la macro je suppose. Le format de la colonne B est le même nombre sans décimal »

Je viens de tester en mettant pour les cellule M2 et N2 le format nombre sans décimal et voila après validation :

Pour moi si le format adapté est en place tout fonctionne pour ces cellules

Dans la colonne X de l’onglet « récap saisie », le copier-coller du justificatif ne fonctionne pas il n’y a rien qui est
noté malgré la saisie sur la ligne 19 (D:H) d’une information

Si une côche est présente en fonction de celle-ci de la colonne D à J ligne 19 la donnée est bien reportée dans cette cellule (c’est un point de repère pour le traitement pour récupérer la bonne donnée sur la ligne)
Avec la 1° côche après validation :

X2 à bien sa donnée

Les dates qui se copient-collent ne sont pas aux bons formats par moment (MM/JJ/AA au lieu de JJ/MM/AA, le
même problème est observé avec le tableau gris cf ci-dessus 01/04/21 22/01/21) et cela ne copient pas l’ensemble
des jours notés
ex : semaine du 08/02/2021, un grand déplacement le 08/02/2021 et le 10/02/2021, celui du 10/02 ne s’est pas
copier-coller

Pour les formats je vais regardé le reste désolé je n’ai rien compris

Il faut être claire je ne suis pas du métier

" il aurait dû être copier-coller Leclerc"

oui si il y a la côche sinon rien n’est copié c’est mon seul repère si tu en as un autre merci de me le donner

« Il faudrait être plus clair sur ce point c’est nébuleux pour moi »
Si le temps total est de 7h et que le temps ventiler est de 5h, le texte sera " Il reste 2h00 à ventiler", les 2h sont le résultat de 7h-5h

« C’est prévu comme cela mais derrière le bouton « Valider » du Formulaire uniquement et non celui du userform »
Ok

« Si une coche est présente…X2 à bien sa donnée »
Qu’est-ce que la coche car je n’ai pas de case à cocher mais une liste déroulante avec uniquement oui sur le fichier. La donnée ne doit pas être « Temps de travail » (cellule D13 du formulaire) mais le texte inscrit en cellule D19 du formulaire, cest une cellule de saisie libre (Leclerc dans mon exemple).
=SI(D18=« Oui »;« D19 »;"") mais si dans D18 il n’est pas noté oui il ne faut rien copier-coller

J’essaie d’expliquer avec des impressions écrans mes propos si cela ne t’aide pas merci de me le dire que je ne perde pas de temps inutilement. Je ne sais pas comment faire pour être plus claire.

Merci pour ton aide

« Si le temps total est de 7h et que le temps ventiler est de 5h, le texte sera " Il reste 2h00 à ventiler », les 2h sont le résultat de 7h-5h"

Et bien voilà c est plus claire
Dans la prochaine version je le rajoute

« Qu’est-ce que la coche car je n’ai pas de case à cocher »

Celle des codes analytique c est mon seul moyen de cibler la bonne colonne de la donnée sur la ligne qui en possède 7 potentielles
Sinon comment déterminer celle-ci ???

« La donnée ne doit pas être « Temps de travail » (cellule D13 du formulaire) mais le texte inscrit en cellule D19 du formulaire, c est une cellule de saisie libre (Leclerc dans mon exemple). »
Ce n est pas l indication que tu m as fourni dans le fichier qui portait la source des données à utiliser pour chaque cellule onglet « Recap saisie »
J ai scrupuleusement suivi l indication de chacune d entre elles
Maitenant donc pour celles-ci hélas il faut remettre le couvert pour que je sache exactement où chercher la donnée et surtout si potentiellement il y en a plusieurs comment cibler la bonne

« J’essaie d’expliquer avec des impressions écrans mes propos si cela ne t’aide pas merci de me le dire que je ne perde pas de temps inutilement. Je ne sais pas comment faire pour être plus claire. »
J ai bien vu mais tu le fais de ta vision à toi qui est dans le métier mais pas de la mienne qui n y suis pas
Il ne faut pas rentrer dans le détail du fonctionnement je ne pourrais te suivre il faut rester basique sans explication technique
Telle cellule mettre donnée provenant de telle cellule de tel onglet avec éventuellement des préalables exprimés comme si telle configuration telle cellule tel onglet telle autre configuration telle autre cellule tel onglet etc…
Rien de plus sinon quiproquos incompréhensions
Ta dernière explication sur les temps à ventiler est parfaite
Celle sur le même sujet dans ton pdf pour moi est imbuvable et pourtant 4 ou 5 lignes
Trop de détails techniques et n allant pas droit au but sur l attendu

Voilà demain tu auras ma nouvelle version J espère car je suis amené à sortir
Je fais au mieux

Bonjour

Je viens de regarder ton dernier fichier

Je n’ai pas réussi à provoquer ce défaut :

« J’ai voulu essayer en faisant comme si le salarié se trompait et ventilait plus d’heures que ce qu’il a réellement travaillé, le message box apparaît. Je constate un problème malgré l’effacement des données et que l’on remplit le bon temps total le message s’affiche tout le temps »

Si je dépasse message et si je corrige plus de message

Je ne trouve nul part ce userform :

image

Merci de m’indiquer où il se trouve

Dans les userform construits je n’en ai que 2 :

Demande absence

image

Ventilation analytique

le userform
Saisie des absences est inexistant

Pour le format des dates incorrects

« Les dates qui se copient-collent ne sont pas aux bons formats par moment (MM/JJ/AA au lieu de JJ/MM/AA, le même problème est observé avec le tableau gris cf ci-dessus 01/04/21 22/01/21) »

J’ai essayé le 22/01/2021 et la recopie de la date est correcte :

Je ne vois pas ce qui cloche

Merci de donner plus de détail

Pour le reste je regardes ce soir je dois partir

Bonsoir

Pour ce point :

« Dans la colonne X de l’onglet « récap saisie », le copier-coller du justificatif ne fonctionne pas il n’y a rien qui est noté malgré la saisie sur la ligne 19 (D:H) d’une information. »

conformément à tes directives :

si la côche est mise (repère pour déterminer la donnée à récupérer listée ci-dessus D19 ou E19 ou F19 ou G19 ou H19) ainsi :

A la validation (bouton « Valider » onglet « Formulaire ») la donnée ici pour la côche n°1 D19 est bien reportée en colonne X onglet « Recap saisie » :

« Sur l’onglet « récap saisie », en colonne B le n° de semaine à copier depuis la cellule H9 de l’onglet « formulaire » ne se copie pas »

C’est corrigé

« Idem pour le temps semaine colonne J, le temps de la cellule D24 du formulaire ne se copie pas. »

Lors d’une de mes réponses précédentes je t’avais signalé ma difficulté pour cette cellule en colonne J :

« Je n’ai pas su traiter la colonne « J » de cette onglet
J’ai comme information dans cette cellule : « ’=Total_H_Travaillées » »

Avec donc ton dernier fichier et cette remarque j’ai pu traiter la cellule

C’est donc corrigé

Regardes tout ceci et apportes moi des réponses

On règlera ensuite les derniers points

Bonjour FFO,

Désolée je n’ai pas eu le temps avant de te répondre et de réessayer ton fichier.

En ce qui concerne ce userform
image
il n’est pas de ce fichier mais du fichier « planning-annuel-Modèle » fait avec un autre forumeur comme je te le disais dans mon message du 10/02. Je te l’avais joins si tu souhaitais voir le codage pour le message actif qui apparaît lorsque l’on entre les données.

"« Je n’ai pas su traiter la colonne « J » de cette onglet
J’ai comme information dans cette cellule : « ’=Total_H_Travaillées » »
Total_H_Travaillées est le nom de la cellule D24 du formulaire.

J’ai toujours le problème de date anglaise MM/JJ/AA dans les tableaux ci-dessous
image au lieu du 12/02/2021

J’ai coché chaque jours le code anaytique, puis valider après chaque journée le userform « ventilation analytique » par le bouton valider, par contre il n’y a qu’une ligne qui s’est copier-coller. Quelle est la procédure pour que tout se collent ?

image au lieu du 08/02/2021,

Je te mets le formulaire complété

Le résultat aurait du être comme ceci
image

Je te remercie pour ton aide.

Bonsoir

« il n’est pas de ce fichier mais du fichier « planning-annuel-Modèle » fait avec un autre forumeur comme je te le disais dans mon message du 10/02. »

En d autres terme dois je utiliser celui qui est en place mais il n a pas la même présentation sinon comment puis je l avoir pour le programmer ?

« Total_H_Travaillées est le nom de la cellule D24 du formulaire. »
C est corrigé

« J’ai toujours le problème de date anglaise MM/JJ/AA dans les tableaux ci-dessous »
Sur la base des mêmes données je fais un essai demain et apporte les corrections adaptées si besoin

Le résultat aurait du être comme ceci
image

Sur quoi faut il se baser pour déterminer les données à récupérer
Ou
données ou pas tout doit être recopié à savoir les 7 données de la ligne du lundi au dimanche
Merci de me dire

En fonction de tes réponses j adapte ta dernière version
Merci

« En d autres terme dois je utiliser celui qui est en place mais il n a pas la même présentation sinon comment puis je l avoir pour le programmer ? »
Il n’est pas à utiliser je te le montrais pour te dire ce que je souhaitais au niveau de l’affichage dynamique du texte « Il reste hh:mm à ventiler ». Tu me disais ne pas me comprendre, je te mettais le fichier en exemple car il y a le texte « Le solde des congés payés de Nom prénom est de 7 jours ouvrés ». Le chiffre (ici 7) varie en fonction des données du formulaire. C’était pour que tu puisses voir le code utilisé sur ce fichier.

« Sur quoi faut il se baser pour déterminer les données à récupérer
Ou
données ou pas tout doit être recopié à savoir les 7 données de la ligne du lundi au dimanche
Merci de me dire »
Il ne faut copier-coller que si la cellule est égale à oui
Exemples :
Si dans la cellule D18 de l’onglet « formulaire » il est noté
« Oui » alors dans l’onglet « Récap saisie » dans le tableau bleu on doit noter les données de la cellule D7 du « formulaire » en colonne V, la cellule D12 du « formulaire » en colonne W et D19 du « formulaire » en colonne X

Si dans la cellule E18 de l’onglet « formulaire » il est noté
« Oui » alors dans l’onglet « Récap saisie » dans le tableau bleu on doit noter les données de la cellule D7 du « formulaire » en colonne V, la cellule D12 du « formulaire » en colonne W et E19 du « formulaire » en colonne X
Ci-dessous le tableau de donnée, je viens de m’apercevoir que j’avais fait une erreur sur la colonne W, jet’avais noté =Formulaire!D12 je te pris de m’excuser du dérangement.
image

S’il n’est pas noté « Oui » alors ne rien faire.

Merci et bonne soirée

« C’était pour que tu puisses voir le code utilisé sur ce fichier. »

Dans quel but ?

« Si dans la cellule D18 de l’onglet « formulaire » il est noté
« Oui » »

Je découvre cette disposition je n en avais pas connaissance jusqu à lors
Seulement et uniquement celle de la coche
Je comprends maintenant beaucoup mieux comment traiter les données de la ligne 19 onglet « Formulaire »

« Ci-dessous le tableau de donnée, je viens de m’apercevoir que j’avais fait une erreur sur la colonne W, jet’avais noté =Formulaire!D12 je te pris de m’excuser du dérangement. »

Pourquoi ce n est pas la cellule D12 de l onglet "Formulaire ?

Pourtant juste avant c est cette instruction que tu me donnes:

« dans le tableau bleu on doit noter les données de la cellule D7 du « formulaire » en colonne V, la cellule D12 du « formulaire » en colonne W »

J ai du mal à comprendre

Merci de m éclairer

Bonjour FFO,

« Dans quel but ? » tu m’avais dit ne pas savoir traiter cela, voilà pourquoi je te mets un exemple du résultat sur un autre fichiers

« Je découvre cette disposition je n en avais pas connaissance jusqu à lors » je l’avais noté au départ avec mes formules SI. Tu m’as dit qu’elles ne servaient à rien qu’il fallait juste te noter où je souhaitais que les données se collent.

"Pourquoi ce n est pas la cellule D12 de l onglet « Formulaire ? »
cela dépend dans quelle colonne est le « oui » s’il est en D18 alors D12, s’il est en E18 alors E12, s’il est en F18 alors F12… comme noté dans le tableau ci-dessous
image

J’espère avoir répondu à tes questions

Bonjour

Je ne sais toujours pas de manière explicite ce que tu attends avec ce message à intégrer
Je suppose mais c’est moi qui le déduit et non toi qui l’exprime que ce message doit aider la saisie des codes analytiques en exprimant le manque ou le trop saisi au regard du temps global à répartir

Je ne sais pas si c’est la bonne cible mais faute d’indication précise je te propose dans cette version le traitement des codes analytiques avec cette disposition en espérant que c’est celle que tu souhaites
Le message est donné avec le manque ou le trop à l’activation de la touche « Valider » du userforme

Attention à chaque supplément par manque de répartition ne pas oublier le code analytique associé pour qu’il soit comptabilisé sinon la nouvelle saisie ne sera pas ajouté

Après différent test cela fonctionne autant en trop qu’en manque

« cela dépend dans quelle colonne est le « oui » s’il est en D18 alors D12, s’il est en E18 alors E12, s’il est en F18 alors F12… comme noté dans le tableau ci-dessous »
image

C’est corrigé dans cette version

« J’ai toujours le problème de date anglaise MM/JJ/AA dans les tableaux ci-dessous »
image au lieu du 12/02/2021

C’est corrigé dans cette version

Je pense avoir fait le tour

Le bouton « Demande absence » onglet "Formulaire est inactif faut il le conserver ?

Si oui quelle est son rôle ? comment doit il opérer ?

Fais des tests sur toutes ces évolutions et corrections puis donnes moi le résultat avec tes observations éventuelles

Gestion heures personnel (5).xlsm (184,0 Ko)

Je viens d’essayer le fichier c’est exactement ce que j’attendais pour le tableau bleu (grand déplacement) de l’onglet « récap saisie ». Merci beaucoup pour ton résultat

Pour le tableau vert de l’onglet « récap saisie » est-il possible de ne pas avoir de lignes vides entre 2 saisies (ci-dessous 4 lignes vides)

Pour le message box du userform " Ventilation analytique", cela n’est pas ce que j’attendais (décompte au fur et à mesure de la saisie) mais cela ira.
Pour le tableau gris, le copier-coller ne doit pas se faire lorsque l’on clique sur le bouton valider de l’onglet « formulaire » mais sur l’onglet valider du userform « Ventilation analytique ».
Les heures de chaque jour travaillé vont être ventilées, dans le cas présents les cases cochées ouvrent le userform, on entre les données et valide. Lorsque l’on change de jour, on recommence l’opération et au final il n’y a d’enregistré que le dernier jour de saisie (car il ne reste que cette case de cochée)
En exemple, le résultat attendu
image

Le résultat que j’obtiens est celui-ci
image
Tous les autres jours saisis ne sont pas enregistrés

"Le bouton « Demande absence » onglet "Formulaire est inactif faut il le conserver ?

Si oui quelle est son rôle ? comment doit il opérer ?"
Comme tu me l’as déjà demandé auparavant, on y va par étapes. Il y a d’autres étapes avant celle-ci à voir ensemble

Je te remercie pour ton aide. Bonne soirée