Recap mensuel des H basé sur feuilles Excel de chaque salarié

Bonjour,

Je dois monter un récap mensuel des heures travaillées par les collaborateurs d'un service.

Chacun déclare ses heures sur son propre classeur Excel (un onglet par mois), classeur heureusement harmonisé dans sa forme.

Je souhaiterais donc pouvoir monter une feuille Excel qui permettrait d'obtenir les heures de chacun des collaborateurs pour le mois sélectionné dans une liste.

Idéalement, j'aimerais pouvoir le faire sans avoir à ouvrir les fichiers des collaborateurs.

Il serait aussi bien pratique que l'état récap donne la liste des fichiers des collaborateurs à lire afin qu'en cas de départ ou arrivée de collaborateurs, il suffise de maintenir la liste du récap (bien entendu les nouveaux arrivants recevraient leur classeur Excel de saisie d'heure au même format que les autres).

Je bute sur comment expliquer à la macro que je veux le Workbook dont le nom est au format "nom du salarié".xls et qu'il faut aller chercher la cellule du total d'heures dans la Worksheet du mois choisi dans la liste déroulante.

Par exemple, si on choisi "décembre" dans la liste déroulante du récap alors il faut aller lire le total des heures dans la feuille "décembre" et dans le classeur de chacun des collaborateurs listés dans le récap.

J'ai préparé quelques fichiers très simples:

3 feuilles d'heures de salariés (Pierre, Paul, Jacques) et un fichier de récap avec la liste déroulante permettant de choisir le mois sur lequel la macro doit aller chercher dans chaque fichier collaborateur, le nombre d'heures effectuées pour le mois choisi dans la liste.

Quelqu'un peut-il m'aider à résoudre mon ce double souci?

Par avance grand merci car le service compte 30 collaborateurs qui m'envoient leur feuille Excel chaque début de mois pour que je saisisse leurs heures. Pouvoir simplifier ce process faciliterait la vie de tout le monde ici

heures pierre paul jacques recap a liste deroulante
25recap-service.xlsx (9.49 Ko)
10pierre.xlsx (14.78 Ko)
4paul.xlsx (14.85 Ko)
7jacques.xlsx (14.86 Ko)

Salut,

La formule : =INDIRECT("["&A4&".xlsx]"&B$1&"!$B$1") en B4, fonctionne si tu ouvres préalablement l'ensemble des classeurs concernés (Dans le cas contraire tu auras des #REF partout)

Si cela te semble trop contraignant, il faudra passer par une solution plus complexe en VBA.

Girodo,

Bonjour et bienvenue,

As-tu la possibilité d'installer Power Query ?

Tu pourrais consolider les données, les transformer et les agréger…

https://support.office.com/fr-fr/article/aide-de-microsoft-power-query-pour-excel-2b433a85-ddfb-420b-9cda-fe0e60b82a94?ui=fr-FR&rs=fr-FR&ad=FR

Cdlt.

Salut,

La formule : =INDIRECT("["&A4&".xlsx]"&B$1&"!$B$1") en B4, fonctionne si tu ouvres préalablement l'ensemble des classeurs concernés (Dans le cas contraire tu auras des #REF partout)

Girodo,

Merci pour ta réponse mais en effet j'aimerais autant que possible ne pas avoir à ouvrir chaque Excel car le service comporte déjà une trentaine de collaborateurs devrait quasi tripler de taille à terme.

C'est pourquoi en effet j'ai plutôt tenté ma chance en VBA sauf que je n'arrive pas à dire à la macro que je veux ouvrir le fichier xls dont le nom est "nom du salarié".xls et idem pour dire à la macro que veux lire la cellule des heures de la feuille du mois choisi dans la liste déroulante.

Bonjour et bienvenue,

As-tu la possibilité d'installer Power Query ?

Bonjour et merci pour ta réponse. N'étant malheureusement pas admin sur mon PC, je ne peux rien installer du tout dessus (et c'est pénible).

Je sais en effet qu'il est possible d'ajouter des fonctionnalités au Excel "de base" mais à priori il va falloir s'en passer

Le bon coté s'il y en a un c'est que si j'arrive à automatiser la collecte des heures, tous mes collègues encadrants pourront potentiellement en bénéficier sans avoir à pleurer pour qu'un admin leur installe Power Query

Bonjour,

Alors je confirme que la formule indirect fonctionne tout à fait.

Le seul problème c'est que ça oblige à ouvrir les classeurs de tous les collaborateurs or j'en ai une trentaine.

Pour moi ce serait pratique de rassembler toutes les feuilles d'heures des collaborateurs dans un seul classeur mais c'est une fausse bonne idée car à chaque début de mois ça va être la guerre dans le service pour que chacun saisisse ses heures dans sa feuille puisqu'une seule personne à la fois pourra accéder au fichier en écriture et les autres en affichage seulement

C'est pour ça que je préférerais largement une macro qui lise la cellule des heures dans la feuille du mois choisie dans le classeur de chaque collaborateur listé dans le récap, le tout sans avoir à ouvrir les classeurs des collaborateurs

indirect
Rechercher des sujets similaires à "recap mensuel base feuilles chaque salarie"