Je fais appel à tous les cadors d’Excel pour obtenir de l’aide.
Je souhaiterai, avec une formule si possible, calculer le nombre d’heure travaillé dans la cellule « Total Jour » et qui sont représentées par des cellules colorées.
Par exemple, si je fais le calcul à la mano, TS aurait travaillé 9H30 => valeur que je voudrais qui se calcule automatiquement.
Nota : je préférai une formule mais si obligé de passer par VBA je suis preneur également en essayant de bien me guider car je ne suis pas un pro dans ce domaine.
Merci de ton aide et de ta proposition de solution.
Mais ce n’est pas tout a fait ça que j’attends comme résultat.
Si tu comptes à la main le nombre d’heure sur la ligne 4 tu ne retrouves pas le même résultat. Je pense que tu ne peux pas diviser par 2, car la première heure est 9h20 et la dernière est 20h20 :
Pour TS on devrait trouver 9H30 et toi tu as 10,5
Pour LQ on devrait trouver 8H20 et toi tu as 9
Pour FB on devrait trouver 8H50 et toi tu as 9,5
Pour LB on devrait trouver 7H30 et tu as 8
Pour OM on devrait trouver 6H20 et tu as 8
Il faudrait avoir le résultat sous la forme « 8H50 » soit HH:MM
Il faut aussi que je puisse remplir de couleur les cases ou les retirer comme je veux. Ça ne me semble pas être le cas pour ta proposition car tu as mis des « X » masqués dans les cellules.
C’est clair que jongler avec des heures c’est toujours un enfer
Est ce que tu penses que tu pourrais faire quelque chose ?
ah oui j’ai oublié d’enlever les couleurs que tu avais mises
mets les cellules en « aucune couleur » et vide une cellule et tu verras qu’elle enlève la couleur et si tu mets un X, elle met la couleur
J’ai modifié ton format pour les heures pour que ce soit de vraies heures qui soit utilisé et mis un calcul dans la première ligne masqué en noir la ligne 6
Je crois que le calcul n’est toujours pas OK (à moins que je calcule mal) :
Pour TS on devrait trouver 9H30 et toi tu as 10H00
Pour LQ on devrait trouver 8H20 et toi tu as 8H50
Pour FB on devrait trouver 8H50 et toi tu as 9H00
Pour LB on devrait trouver 7H30 et tu as 7H30
Pour OM on devrait trouver 6H20 et tu as 7H20
Si je change 9H20 par 9H50 dans la cellule C4 et si je change 20H20 par 19H50 dans la cellule Y4 par exemple (car je voudrai pouvoir mettre ce que je veux au 2 extrémités des horaires), il faudrait que la formule puisse en tenir compte.
POUR TS: En commençant a 9h40 jusqu’à 14h30 il aura travaillé 4h50, en reprennant de 16h00 à 20h20 il aura travaillé 4h20, en additionnant 4h50 et 4h20 je tombe sur 9h10
J’ai fait quelques essais et il y a encore des petits trucs qui ne se calculent pas bien.
Regarde quand tu retires une croix dans une cellule ou c’est 14H00 ou 15H00 ou 16H00 ça retire 1 heure au résultat final au lieu de 30 minutes… et si tu retires une croix dans une cellule de demi-heure comme 14H30 ou 15H30 ou 16H30 ça retires 30 minutes (là ce serait OK).
Apparemment le problème est sur les heures XXh00.
Il faudrait pouvoir faire des tests en ajoutant des croix et en retirant pour voir si le résultat final est OK.
Je crois avoir saisi mon erreur, en fait l’arrêt est à 15 h 00 et reprise a 15 h 30, je regarde si j’arrive à mieux l’intégrée.
Je pense que le souci vient du fait de ta mise en page, vu que là, on ne prend en considération que l’heure de début de travail et non l’heure de début et de coupure.
Bonjour Eric_33, voici une solution avec une fonction personnalisée en VBA. La difficulté, c’est l’interprétation d’une cellule colorée. Si elle est au début d’une série de cellules colorées, l’heure correspondante dans la ligne 4 est une heure de début. Au contraire, lorsque la cellule colorée est à l’extrémité droite d’une série de cellules colorées, l’heure correspondante à la ligne 4 est une heure de fin ! Ma fonction personnalisée tient compte de ces remarques. Eric_33 2024-08-15-01.xlsm (17,5 Ko)
je viens de tester ton fichier. Il y a des choses qui fonctionnent et d’autres moins comme encore le calcul qui ne tombe pas juste.
En prenant le dernier fichier que tu m’as transmis :
- Pour TS on devrait trouver 8H00 et toi tu as 9H00
- Pour LQ on devrait trouver 9H20 et toi tu as 9H50
- Pour FB on devrait trouver 8H30 et toi tu as 9H00
- Pour LB on devrait trouver 6H40 et tu as 8H10
- Pour OM on devrait trouver 7H00 et tu as 7H00
Merci pour ta proposition. Je viens de tester ta fonction personnalisée.
Je n’ai pas trop de connaissance en VBA alors j’ai quelques questions.
Quand je supprime des couleurs sur la ligne, ça ne recalcule pas automatiquement dans la cellule « Total Jour » :
* est ce que c’est parce qu’il faut relancer la fonction ?
* si oui, comment il faut faire ?
* et est ce qu’il n’y a pas moyen que ça recalcule automatiquement sans devoir la lancer manuellement ?
* Mon fichier est pour 1 seul jour (le 1er Octobre) mais à terme je vais rajouter autant de ligne et colonne qu’il y a dans le calendrier. Est ce que ce sera facile de reproduire le calcul pour tous les jours de l’année (ou de plusieurs années) ?
@taz067, hors du sujet, mais dans le poste 12 vous expliquez comment on peut insérer une capture d’écran et dans cette capture il y a des textes soulignés en couleur. Je ne savais pas que c’était possible sur ce site et je ne le vois pas ailleurs dans vos postes.
Donc ajouter une autre mise en forme du texte sauf gras et italique, c’est possible ou pas et comment faire ?
@Cow18 Les textes soulignés viennent de mon correcteur d’orthographe installé sur chrome, par exemple, on met un S de trop ou un double espace entre les mots, ou encore l’espace manquant entre les chiffres et lettres.
Re
alors si je comprends bien les seules variables sont la première et la dernière cellule du jour, tout le reste sera par tranche de 30 minutes
au plus simple, il suffit de mettre les 30 minutes en dur dans la ligne de calcul et que la première et dernière cellule calcul la durée de travail de la première et dernière tranche
Dans ton exemple capture d’écran si tu comptes les heures de :
- TS = 30 min + 2 h + 4 h = 6h30 => et toi tu as 8h00
- LQ = 20 min + 4 h + 1h30 = 5h50 => et toi tu as 6h40
On a toujours ce décalage.
Je pense qu’il y a surement une incompréhension sur le formalisme de mon tableau.
Effectivement, chaque cellule correspond à une tranche de 30 min sauf pour la première et la dernière qui peuvent être variables.
Il y a quelque chose qui ne se calcule pas bien.
Qu’est ce que tu as besoin que je réexplique plus précisément pour t’aider ?