[Pointage Hebdomadaire] Enregistrer les pointages dans une base de donnée
Bonjour à tous,
Je suis entrain de créer un classeur Excel afin de faciliter mes pointages hebdomadaires que je faisais précédemment sur papier. Je m'explique : je relève pour chacun de mes ouvriers (intervenants) combien de temps ils ont passé chaque jour sur le chantier, et plus précisément combien de temps ils passent sur différentes tâches. Il est possible qu'au sein d'une même journée ils travaillent sur différentes tâches mais aussi sur différents chantiers.
Je place ici ma principale requête à l'heure actuelle : Enregistrer mes pointages dans la base de donnée. Je développe par la suite tout ce que je peux pour vous aider à comprendre mon problème et où je veux aller, pour que vous puissiez m'aider. Merci.
L'objectif final serait que :
- N'importe quel soir de la semaine quand j'ai le temps je saisisse dans le classeur Excel les horaires des intervenants pour quelques derniers jours qui viennent de s'écouler ;
- Ces horaires soient enregistrés dans une base de donnée ;
- Je génère des tableaux récapitulatifs de différents types, qui feraient appel à la base de donnée ; Ces tableaux me permettant d'avoir une vue globale des activités mais aussi générer des feuilles de paie facilement.
J'ai conscience que les macros sont des outils ultra puissants, cependant, je n'ai pas encore les capacités pour traduire mes besoins.
Voici l'avancée de mon travail pour l'instant :
- J'ai globalement le visuel (basique mais explicite) des informations dont j'ai besoin, que ce soit dans la saisie d'informations ou dans les listes déroulantes ;
- Dans la feuille 'Pointage_Journalier j'ai réussi à créer une petite macro pour ajouter une ligne de saisie (peut-être que ça aurait été plus simple avec un tableau dynamique ?) ;
- J'ai réfléchi à quelques problèmes par rapport aux dates de saisies, pour sélectionner le jour (ex. mardi) et que ça transforme en vraie date. Pour information, le système de semaine utilisé est NO.SEMAINE.ISO()
- Réfléchir à basculer les informations du pointage vers la base de donnée. C'EST LA QUE JE BLOQUE. En effet j'aimerais que les informations soient rentrées dès que : soit le chantier, soit la tâche, soit l'intervenant change ! Je n'arrive pas à traduire ceci en VBA.
Pour vous aider à vous mettre dans le contexte, voici une explications de mes feuilles et de mes objectifs :
- Accueil : C'est là que je vais ajouter mes nouveaux chantiers et intervenants qui iront se répertorier dans la feuille 'Sources
- Pointage_Journalier : C'est là que je vais rentrer les relevés d'heures de mes ouvriers et moi-même
- Sources : Sources de différentes listes dont j'aurai besoin
- BD : Base de Donnée qui regroupera tous mes pointages
- Calendrier M3a : récapitulatif mensuel des tâches effectuées par un intervenant (avec un sous total par jour, un sous total par tâche, et un gros total par mois). L'objectif est d'avoir une vue globale + le total des heures pour la feuille de paie à la fin du mois
- Calendrier M3b : récapitulatif sur plusieurs semaines des tâches effectuées par un intervenant (avec un sous total par semaine, un sous total par tâche, et un gros total)
- Calendrier M3c : récapitulatif sur plusieurs mois des tâches effectuées par un intervenant (avec un sous total par mois, un sous total par tâche, et un gros total)
Tableaux pour l'instant manquants :
- Tableau récapitulatif d'un chantier (durée totale et/ou entre deux dates sélectionnées)
Objectifs futurs :
Outil de recherche par exemple si d'une année sur l'autre j'appelle une même tâche de deux manières différentes, j'aimerais retrouver ces deux tâches.
Là où j'ai besoin de vous :
Comme évoqué précédemment, mon objectif immédiat est de basculer mon pointage vers la Base de donnée et je ne vois pas comment faire, je ne suis pas encore assez à l'aise avec le langage VBA.
Le problème étant que j'ai l'impression d'avoir trop d'informations pour un simple tableau à double entrée car dans une même journée, plusieurs intervenants peuvent faire des tâches différentes à des endroits différents mais aussi travailler sur la même chose au même endroit, et le nombre d'intervenant est susceptible de changer. Je dis ça car j'avais penser à créer une colonne par intervenant mais je ne sais pas si c'est possible et si c'est la bonne solution. J'ai finalement opté pour une seule colonne. Cela implique que pour une ligne de pointage, si deux intervenant travaillent sur la même tâche, il faut faire une ligne avec toutes les informations + les heures du premier intervenant, puis faire retour à la ligne dans la base de donnée et inscrire les mêmes informations + les heures du deuxième intervenant. C'est tout là mon problème, surtout que j'étais parti sur une macro qui fait des copier-coller de 'Pointage_Journalier vers 'BD mais je pense que les macros sont plus puissantes que cela et plus "propres" mais je ne saurais pas faire.
Tout conseil sur l'optimisation de ce que j'ai déjà produit est le bienvenue, la proposition de nouvelles choses, d'indices, de pistes pour me débloquer aussi. Bien évidemment si vous me proposez des bouts de codes ou carrément une nouvelle version de mon Excel, je vous en serai infiniment reconnaissant.
Je vous laisse avec ce bel exercice et j'espère que vos lumières sauront m'éclairer.
Cordialement.
Easyfrancky
Bonjour EasyFrancky et
Une petite présentation ICI serait la bienvenue
Si vous ne l'avez pas encore fait, je vous invite à lire la charte du forum [A LIRE AVANT DE POSTER]
qui vous aidera dans vos demandes et réponses sur ce forum
Concernant votre demande elle est tout, sauf "easy" à lire... un "roman" n'intéresse souvent personne (moi le premier)
Bonne chance
Cordialement
Bonjour
J'ai jeté un coup d'œil à votre fichier. Vous êtes en train de construire une usine à gaz. Si je peux me permettre un conseil. Utilisez au maximum les tableaux structurés et oubliez les cellules fusionnées. Créez des tables séparées pour les divers éléments. Une table "Clients", une table "Chantiers", une table "Intervenants" et utilisez des identifiants uniques que vous utiliserez pour rassembler les données dont vous aurez besoin pour extraire une information.
Cordialement
Bonjour Bruno, Bonjour Yal
Je comprends tout à fait ce que vous voulez dire par roman. Je pense que je me suis un peu perdu dans cette usine à gaz.
Je vais reprendre étape par étape pour simplifier tout cela et peut-être poster des demandes d'aides plus simples sur de nouveaux topics !
Merci de m'avoir fait ouvrir les yeux.
Yal, tu as raison je vais structurer plus les choses.
Merci pour vos conseils.
Cordialement.