Numeriblog Google Workspace Google Agenda, l’agenda collaboratif le plus puissant Google Agenda et Sheets : synchroniser et mettre à jour des événements d’un agenda dans une feuille de calcul et vice-versa

Google Agenda et Sheets : synchroniser et mettre à jour des événements d’un agenda dans une feuille de calcul et vice-versa

La question de la gestion du temps est récurrente dans le suivi de tous les projets menés en même temps. En tant qu’indépendant, je dois gérer une dizaine de projets simultanément, dont certains sont facturés […]

5(2)
personnes ont consulté cet article

4 minutes

Rédigé par Antoine MARTIN - il y a 2 ans

Ce que vous allez découvrir

  • Script pour récupérer les événements de Google Agenda vers Sheets
  • Script pour mettre à jour l'événement de Google Sheets vers Agenda
  • Conclusion

Google Agenda et Sheets : synchroniser et mettre à jour des événements d’un agenda dans une feuille de calcul et vice-versa

La question de la gestion du temps est récurrente dans le suivi de tous les projets menés en même temps. En tant qu’indépendant, je dois gérer une dizaine de projets simultanément, dont certains sont facturés au temps passé, et les clients me demandent un suivi circonstancié des heures passées. Voyons ensemble la méthode de synchronisation.

Comment suivre le temps passé sur un projet ? Faut-il saisir les événements dans Sheets (je saisis dans une feuille de calcul le numéro du projet, une date et heure de début et de fin… pff, galère et comment être sûr de ne pas oublier des événements) ? Ou bien faut-il saisir naturellement les événements dans mon agenda Google et ensuite les recopier dans une feuille de calcul (je récupère facilement le temps passé réel mais c’est compliqué d’associer l’événement à un projet précisément en suivant une règle de nommage stricte et facile à oublier).

Quel dilemme !

Voici une proposition de compromis exploitant les forces de chaque application :

Google Agenda pour saisir, modifier, supprimer les événements dans le calendrier Google, créer des rappels, gérer les invitations et les visio-conférences sur Meet.

Google Sheets pour recueillir les événements, calculer le temps passé, associer l’événement à un projet et créer des rapports personnalisés à mes clients.

J’ai donc créé deux scripts d’interactions entre l’appli Agenda et Sheets que je vous

Veuillez créer un compte pour lire la suite de cette ressource

L’accès à cette ressource se fait gratuitement en créant un compte Numerifan. Les abonnements payants donnent également accès aux cours gratuits.

Paywall image

Cet article est réservé aux abonnés. Pourquoi ?

Fournir tout ce contenu nous demande beaucoup de temps, des ressources et une veille permanente. Accédez à ce contenu en rejoignant notre super communauté, pour tous nous remercier 💪

Besoin d'un peu plus d'aide sur Sheets ?

Des formateurs sont disponibles toute l'année pour vous accompagner et optimiser votre utilisation de Sheets, que ce soit pour votre entreprise ou pour vos besoins personnels !

Découvrir nos formations Sheets

Rédacteur

Photo de profil de l'auteur
Antoine MARTIN

Consultant et formateur sur les outils bureautiques, j'ai intégré l'équipe de Numericoach en 2020. J'accompagne les utilisateurs de Google Workspace à trouver des solutions répondant à leurs besoins. Mes domaines de prédilections sont les outils Sheets, Docs, Slides et Google Apps Script.

S’abonner
Notification pour
guest

5

Note du cours

(2)

(0)

(0)

(0)

(0)

36 Commentaires
Le plus ancien
Le plus récent Le plus populaire
Commentaires en ligne
Afficher tous les commentaires
Dreadaxe

« synchroniser et mettre à jour des événements d’un agenda »
Il me semble qu’on ne peut pas choisir un agenda mais que tous les événement dû compte son récupéré quelque soit le calendrier.
Une solution ?

Cet avis vous a été utile ?

Dreadaxe
Répondre à  Antoine MARTIN
1 année il y a

MERCI !!
Note intéressante, filtrer semble faire foirer le script.

Cet avis vous a été utile ?

Dreadaxe

Merdouille ça ne semble pas fonctionner
CalendarApp.getCalendarById(« IDAGENDA »);
« IDAGENDA » = n9iknbdch76l16cd2pt3je29po@group.calendar.google.com
Dommage aussi qu’on ne puisse pas récup l’agenda de contact avec les dates de naissance.

Cet avis vous a été utile ?

Body
Body
Répondre à  Dreadaxe
11 mois il y a

Meme probleme avec IDAGENDA, je n’arrive pas a faire fonctionner une solution ?

Cet avis vous a été utile ?

Salmaslian
Salmaslian

Bonjour,
J’ai ce message d’erreur lorsque j’ai coller votre code
« 12:03:31 Erreur
TypeError: Cannot read property ‘getRange’ of null
listEvents Code.gs:33 »
Pouvez-vous m’aider à ce sujet ?

Cet avis vous a été utile ?

Antoine MARTIN
Répondre à  Salmaslian
1 année il y a

bonjour.
Vérifiez bien avoir nommé une feuille « TEMPS PASSE » (vérifiez bien l’écriture)

Cet avis vous a été utile ?

3 AVEC L4ACCENT
Répondre à  Antoine MARTIN
1 année il y a

pour information, dans le texte de l’article il est écrit de créer un onglet « TEMPS PASSÉ » avec l’accent
J’ai eu le même problème avant de relire le script avec précision
je vous remercie

Cet avis vous a été utile ?

EDOUARD D

excellent
merci pour toutes ces leçons

Cet avis vous a été utile ?

David

Bonjour,
dateDebut et dateFin sont mal implémentées.

Cet avis vous a été utile ?

erwan
Répondre à  Antoine MARTIN
8 mois il y a

bonjour, j’ai le message :
22:38:16 Erreur
TypeError: Cannot read property ‘getEvents’ of null
listEvents Code.gs:16
pouvez vous m’aider? merci

Cet avis vous a été utile ?

erwan
Répondre à  Antoine MARTIN
8 mois il y a

Merci – je vais essayer de revoir ca ce week end.

Cet avis vous a été utile ?

erwan
Répondre à  Antoine MARTIN
8 mois il y a

bonjour, merci du retour, le premier script fonctionne très bien
par contre comment tester le 2eme, a chaque fois l’évènement s’efface ! peut être parce que je n’ai rien mis colonne 1 ! , comment créer un ID EVENEMENT ?
sinon, si je souhaite utiliser un agenda particulier vous écriver : si tu souhaites récupérer un autre agenda il faut utiliser CalendarApp.getCalendarById(« IDAGENDA »)
il faut juste remplacer « IDAGENDA » par l’adresse id de mon agenda ?
Est il possible sur un google sheets de 3 feuilles de mettre 3 agendas différents avec 3 scripts différents?
pour cela je dois :
faire attention au nom de chaque feuille (ici temps passe) ligne 14 et 67
changer l’id de l’agenda comme vu au dessus, ligne 16 et 90
Merci encore
Erwan

Cet avis vous a été utile ?

erwan
Répondre à  Antoine MARTIN
8 mois il y a

j’ai réussi a faire le changement de calendrier notamment avec votre réponse à body;
Maintenant j’ai :
ReferenceError: agenda is not defined
listEvents Code.gs:27
une idée ?

Cet avis vous a été utile ?

Antoine MARTIN
Répondre à  erwan
8 mois il y a

Erwan, voici quelques réponses:
« sinon, si je souhaite utiliser un agenda particulier vous écriver : si tu souhaites récupérer un autre agenda il faut utiliser CalendarApp.getCalendarById(« IDAGENDA »)
il faut juste remplacer « IDAGENDA » par l’adresse id de mon agenda ? »
L’Id de l’agenda est récupérable dans les paramètres de l’agenda. https://sites.google.com/site/efficalendar/synchronisation/ou-trouver-l-identifiant-de-l-agenda-google-calendar
« Est il possible sur un google sheets de 3 feuilles de mettre 3 agendas différents avec 3 scripts différents?
pour cela je dois :
faire attention au nom de chaque feuille (ici temps passe) ligne 14 et 67
changer l’id de l’agenda comme vu au dessus, ligne 16 et 90 »
Il faudrait étudier le cas plus précisément, mais oui, l’idée de base est de créer 3 fonctions différentes (avec des noms différents pour chacune !) dans chacune, indiquer le nom d’une feuille et l’id de l’agenda. L’idéal est de passer les infos qui changent dans les arguments d’une seule fonction.
Je t’invite à te rapprocher de Numericoach pour demander une heure d’accompagnement à distance pour avancer dans ton projet 🙂 contact@numericoach.fr

Cet avis vous a été utile ?

erwan
Répondre à  Antoine MARTIN
8 mois il y a

merci pour votre aide!

Cet avis vous a été utile ?

GrBcl

Très intéressant tout ca ! est ce possible de récupérer les adresses des RDV ainsi que le descriptif du rendez vous ? j’aimerai en détourner l’usage pour gérer des bons de livraison. merci

Cet avis vous a été utile ?

Antoine MARTIN
Répondre à  GrBcl
8 mois il y a

Merci GrBcl (un accident de scrabble ? 🙂 )
Toutes les informations du rendez-vous sont récupérables (sauf le lien meet, il faut passer alors par CalendarApi.
Bonne continuation !

Cet avis vous a été utile ?

GrBCL

Bonjour ! J’utilise votre script depuis déjà un bon moment pour créer des bons de livraison avec des références que souvent je colle dans la description du google agenda et que je récupère dans GSheet. Ce qui me rend un grand service !
Le problème c’est que dans GSheet, le contenu télécharger insère toutes les balises html etc… ce qui rend difficilement lisible le contenu de la cellule.
Il y a t’il possibilité dans le script de supprimer la mise en forme de la description de google agenda ?? sans avoir a chaque fois a cliquer sur le bouton de suppression de la mise en forme (icone T barré) ou bien de simplement recevoir en format texte brut les donnée dans gsheet?
merci d’avance !

Cet avis vous a été utile ?

Antoine MARTIN
Répondre à  GrBCL
5 mois il y a

Bonjour GrBCL;
Pouvez-vous me donner un exemple de texte avec les balises HTML?

Cet avis vous a été utile ?

GrBCL
Répondre à  Antoine MARTIN
5 mois il y a

0325327***livrer grundig congélateur gfn13740nroute de sainte marthe
voici ce que je reçois dans GSheet si en amont je n’ai pas sélectionné le texte de la description dans google agenda et cliqué sur la suppression de la mise en forme (icone T barré)
Merci pour votre avis 🙂

Cet avis vous a été utile ?

GrBCL
Répondre à  GrBCL
5 mois il y a

<html-blob<0323527820<br<grundig congélateur gfn13740n<br/html-blob<
j'ai volontairement inversé les signes des balises car cela ne s'affiché pas dans mon commentaire de 22h21 🙂

Cet avis vous a été utile ?

Antoine MARTIN
Répondre à  GrBCL
5 mois il y a

Merci, mais je ne vois pas la mise en forme. Je vais faire des tests et revenir vers vous.

Cet avis vous a été utile ?

GrBCL
Répondre à  Antoine MARTIN
5 mois il y a

pour contrer le problème j’ai appliqué ce code à la suite de votre script :
var sheet = SpreadsheetApp.getActiveSpreadsheet ();
var textFinder = sheet.createTextFinder (‘<br<');
textFinder.replaceAllWith (' ')
ça règle mon problème, cependant j'aimerai tout de même savoir pourquoi la mise en forme html se télécharge….

Cet avis vous a été utile ?

Vincent
Vincent

Bonjour Antoine,
Merci pour toutes ces fonctionnalités très intéressantes.
J’ai deux questions pour vous :
– Est il possible de générer une modification automatique du google Cal via GSheet? Admettons que nous mettons une date de début d’évènement dans le google sheet qui se reporte sur google Cal et que finalement nous le changeons sur GSheet, est ce qu’il existe un moyen que le changement opère également sur Google Cal ?
– Pensez vous qu’il soit possible de rajouter une description dans l’évènement créé de base ? Nous savons aujourd’hui mettre un Titre, une date/heure de début et une date/heure de fin, mais est ce qu’on a le moyen d’ajouter une description?
Merci pour vos brillantes lumières.

Cet avis vous a été utile ?

Vincent
Vincent
Répondre à  Vincent
5 mois il y a

Pour compléter ma demande, je parle bien d’y ajouter une description à la base, non pas par la suite (chose que fait votre script cité plus haut si je ne m’abuse)

Cet avis vous a été utile ?

Antoine MARTIN
Répondre à  Vincent
5 mois il y a

bonjour Vincent,
La mise à jour de l’événement à partir des modifications apportées dans Sheets est tout à fait possible, d’ailleurs dans le script onEditDeclencheur() le titre est modifié dans Agenda quand une colonne est modifiée dans Sheets. il est possible de demander aussi à modifier les dates.
Pour la description auto,au même titre que vous créez le titre avec setTitle(), vous pouvez créer une description avec setDescription().
N’hésitez aps à nous contacter pour un accompagnement plus personnalisé pour répondre à vos besoins spécifiques 😉 contact@numericach.fr

Cet avis vous a été utile ?

Votre note :
     

MErci beaucoup pour ce script qui fonctionne !

Cet avis vous a été utile ?

Dernière modification le 19 jours il y a par Isabelle Chevrier
Votre note :
     

Bonjour, il existe ce plugin que j’ai installé, qui fonctionne il me semble sur la meme idée. mais comment faire pour que l’agenda se mette à jour automatiquement ?
https://workspace.google.com/marketplace/app/sheets2gcal/137564231775?hl=fr

Cet avis vous a été utile ?