Skip to content

This blog is an attempt to do what I love the most, applied everything new that I learn and have fun doing it.

Here is my attempt #1

Vue d'ensemble du Timer

Calcul des heures de travail pour freelances / pigiste avec Google Docs


    Les étapes de developpement

  1. Coder un timer avec Google Docs
  2. Grille et variables
  3. Calcul du cumulatif de la semaine
  4. Manipulation des formats
  5. Manipulation des heures et des minutes

Comment coder une simple application qui permet d'aisément créer une feuille de temps qui pourra être utilisé pour facturer des clients.

Avoir sous la main une façon de calculer son temps est essentiel pour tout bon contractant freelances / pigiste. Dernièrement, j'ai décidé que l'app que j'utilisais n'en valait pas le coût. Je me suis donc retrouvé à fouiller le web (évidemment) dans l'espoir de trouver une solution simple et efficace. Ne sachant pas encore à ce moment que je finirais par le coder, au final, j'ai passé beaucoup plus de temps à chercher comparativement au temps que ça m'a pris à coder.

J’ai donc codé un « punch » en me basant sur une nouvelle méthode, comblant ainsi un besoin de calculer mon temps travaillé comme pigiste.

Coder un timer avec Google Docs

Lorsque j'ai commencé, J’ai rencontré différentes difficultés avec le format. Avec un peu de persistance, j’ai trouvé une solution efficace. Voici un Template Google Sheet que je partage pour les freelances / pigistes.

Établir les variables de base

Grille de départ - Matrice GS

  A B C D
1 Debut Diner Fin Temps Travaillé
2 HH:MM:SS HH:MM:SS HH:MM:SS (C3-A3)-B3)
3 07:25:10 00:30:00 16:33:00 08:37:50

Pour commencer, j’ai créé le document selon une semaine de 5 jours en incluant la possibilité d'ajouter du temps supplémentaire.

Maintenant que la matrice de travail est établie (Jour Clients Tâches Début Diner Fin), c’est le moment de passer à la phase des calculs.

Calcul du cumulatif de la semaine

D’abord, il faut soustraire l’heure de fin avec l’heure de début. Il est important de ne pas oublier que ces cellules doivent être configurées au format date : HH:MM:SS.

Cumul des heures travaillées par jour - Matrice GS

  A B C D E F
1 Jour Clients Tâches Début Diner Fin
2 L Clients-A dev - composant 07:25:10 00:30:00 16:33:00
3 M Clients-B dev - Automatisation 07:32:12 00:30:00 17:14:00
4 M Clients-B dev - Automatisation 07:32:12 00:30:00 17:14:00
5 J Clients-B dev - Automatisation 07:32:12 00:30:00 17:14:00
6 V Clients-B dev - Automatisation 07:32:12 00:30:00 17:14:00
6 Over Clients-B dev - Automatisation 07:32:12 00:30:00 17:14:00

Initialement, j’ai tenté de simplement additionner les différents résultats de la colonne « Heures travaillées », mais j'ai rapidement constaté que les calculs semblaient cafouiller. C’est après avoir fait quelques recherches sur le format Date que j’ai compris mon erreur.

Difficulté Format date

  A B
1 Time Work Total
2 08:37:50 20:18:30
3 09:11:48
4 09:02:06
5 08:50:04
6 08:37:50
Rendu à la 25e heure, plutôt que de continuer à s’incrémenter, la journée recommence.

La réponse obtenue n’était pas nécessairement érronnée, mais le format Date ne permet pas de calculer plus de 24h avant de boucler, évidemment! Après une semaine de travail, le total devrait être supérieur à 20h et des poussières.

Manipulation des formats

Donc, c'est maintenant que la magie s'opère et que les calculs savants arrivent à notre rescousse. D'abord, pour pouvoir manipuler les données, nous allons devoir prendre chacune des entrées par jour et séparer les heures des minutes et des secondes et utiliser les secondes comme unité de base. Les heures seront alors multipliées par 3600 et les minutes par 60.

D'abord, nous devons appliquer la méthode split sur le total de chaque jour.

Split méthode sur heures cumulées

  A B C D
1 Temps travaillé Split méthode Heure Minutes
2 08:37:50 split(  A2, " : ", false  ) 08 37

La méthode split permet de séparer les 3 types en 3 cellules distintes: heures, minutes et secondes. S’en suit notre calcul savant (HH*3600) + (MM*60), qui donne le total en secondes.

Calcul du total en secondes

  A B C D
1 Heures Minutes Savant Calculus Résultat
2 08 37 (  A2*3600  )  +  (  B2*60  ) 31020

Manipulation des heures et des minutes

Donc, la 1re journée de travail représente maintenant 31 020 secs. Pour relativiser, une semaine de 37h30 égale à 135 000 secondes. Nous sommes maintenant en mesure de calculer notre semaine selon nos besoins.

Cumulatif de semaine en secondes

  A B
1 Time Work Total
2 31020 168 360 secs
3 33060
4 32520
5 31800
6 30960

Ce total en secondes n'étant pas très utile, une dernière transformation est nécessaire afin d'opérer dans un format plus familier.

Total en secondes vers heures

  A B C
1 Totals en seconde Calcul savant reverse Total en heures
2 168 360 secs ( A2 ) * 0.000277778 45.27

Étant curieux de savoir combien de temps de travail est nécessaire avant d'avoir terminé ma semaine de traivail, j'ai effectué une autre manipulation qui permet de savoir le nombre d'heure restant à la semaine. Je vais vous monter ce petit ajout dans un futur article

Voilà un Template Google Docs que je mets à votre disposition. Vous pouvez le copier et l'utiliser dans vos propres projets de freelances / pigiste.

Vue d'ensemble du Timer