Calcul d'heure avec SOMMEPROD et automatisation

Bonjour à tous,

Cela fait plusieurs jours que je cherche une solution à mon problème sans trouver une solution qui fonctionne. J'espère que vous pourrez m'aider.

Mon patron m'a demandé d'optimiser les différents fichiers concernant les heures de chaque employé.

En effet, il existait deux fichiers, un pour noter les heures de travail de chaque employé (automatisé par une macro et un qui permettait au comptable de calculer les heures supplémentaires de chaque employé par mois.

J'ai donc rajouter un onglet pour pouvoir calculer les heures de chaque employé, mais c'est là que les problèmes arrivent.

De base, le fichier fonctionne de cette façon :

- Aller sur l'onglet Saisie, et inscrire le numéro de client, saisir ensuite les heures de chaque employé pour le client, appuyer sur le bouton VALIDER SAISIE TEMPS.

Automatiquement, nouvelle ligne est créée dans l'onglet Travaux.

Bon déjà, la macro est codée en brut, c'est-à-dire qu'elle fonctionne très bien mais qu'elle doit être refaite, mais ce n'est pas mon principal problème.

Il s'agit de l'onglet TEMPS où je rencontre mes problèmes.

Je souhaite récupérer pour une date choisie et un nom donné, la somme des valeurs comprises dans cet intervalle, grâce au tableau situé dans l'onglet Travaux.

J'avais appliqué la formule suivante dans la cellule C21, C22, C23 qui correspondait aux heures que Rachid avait effectué :

=SOMMEPROD((Travaux!$A$2:$A$231=TEMPS!A37)*(Travaux!$E$1:$T$1=TEMPS!$B$9)*Travaux!G$2:G$231)

Cependant, lorsque je change de numéro (cellule B7) en mettant 6 (pour Jean-Louis), aucune valeur ne change.

J'ai donc décidé de changer l'intervalle de recherche dans la formule précédente en écrivant et en testant dans la cellule C24:

=SOMMEPROD((Travaux!$A$2:$A$231=TEMPS!A37)*(Travaux!$E$1:$T$1=TEMPS!$B$9)*Travaux!EG$2:EG$231)

J'ai testé aussi cette formule, que j'ai trouvé en parcourant ce forum, mais pareil encore une erreur (appliquée en cellule C21) :

=SOMMEPROD((Travaux!$A$4:A232=TEMPS!A20)*(DECALER(Travaux!$A$4:A232;;EQUIV(TEMPS!$B$7;Travaux!E1:J1;0))))

J'aimerais donc trouver une formule qui puisse s'automatiser lorsque le nom de l'employé change, mais je ne sais pas si cela est possible avec des formules ou si je dois passer par le code VBA...

Merci pour votre aide!

Je vous joins mon fichier pour que vous puissiez visualiser mes explications.

36saisie-des-temps.rar (867.28 Ko)

Est-ce que quelqu'un peut m'aider ou je n'ai pas été assez précise dans mon explication..?

Rechercher des sujets similaires à "calcul heure sommeprod automatisation"