Comment synchroniser automatiquement Google Agenda avec Google Sheets

Comment synchroniser automatiquement Google Calendar avec Google Sheets

Vous jonglez avec un emploi du temps chargé et avez besoin d’une vue d’ensemble claire et organisée de vos événements ? Grâce à Google Apps Script, vous pouvez synchroniser automatiquement votre Google Agenda avec Google Sheets pour un suivi plus simple et structuré. Suivez ce guide pour mettre en place cette automatisation en quelques minutes ! 📅 ➡️ 📊


🔧 Étapes de mise en place

Accédez à Apps Script dans Google Sheets

Tout commence par l’ouverture de Google Apps Script dans Google Sheets. Ouvrez une nouvelle feuille Google, puis allez dans Extensions > Apps Script.

Copiez et collez le code suivant :

Planifiez une synchronisation automatique

Pour que la synchronisation soit automatique, accédez à l’onglet Déclencheurs dans Apps Script (icône en forme de réveil). Créez un déclencheur basé sur le temps pour que le script se déclenche quotidiennement. De cette façon, vos événements seront mis à jour chaque jour sans intervention manuelle !

Résultat

Une fois le script exécuté, vous verrez apparaître vos événements Google Agenda sous forme de tableau dans votre Google Sheet avec les colonnes Titre, Date de début, Date de fin et Description. Cette vue organisée vous permet de consulter, filtrer ou même analyser vos événements facilement.

"Capture d'écran d'un tableau Google Sheets avec un planning d'événements, incluant les titres, dates et descriptions
Cette capture d’écran montre un tableau Google Sheets listant plusieurs événements de l’agenda Google

🔎 Détail du code étape par étape

const calendarId = 'votrecalendrier@gmail.com'

Définition du calendrier à synchroniser : Vous devez remplacer 'votrecalendrier@gmail.com' par l’ID de votre Google Agenda. Si vous synchronisez votre propre agenda principal, vous pouvez utiliser l’adresse email associée à votre compte Google. Si vous voulez synchroniser un autre calendrier partagé, vous devez trouver l’ID dans les paramètres du calendrier.

Pour trouver l’ID d’un calendrier partagé :

  • Allez sur Google Agenda : https://calendar.google.com/calendar/u/0/r
  • Cliquez sur les trois points à côté du calendrier à synchroniser
  • Sélectionnez « Paramètres et partage »
  • L’ID du calendrier se trouve dans la section « Intégrer le calendrier »
Capture d'écran des paramètres d'intégration d'un agenda Google avec l'ID de l'agenda mis en avant.
Cette capture montre comment accéder aux paramètres d’intégration d’un agenda Google, incluant l’ID de l’agenda, l’URL publique et les options d’intégration.

🔻

const sheet = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet()

Sélection de la feuille active : Cette ligne récupère la feuille active (celle ouverte actuellement) du Google Spreadsheet dans lequel vous exécutez le script. C’est ici que les événements seront écrits.

🔻

const events = calendar.getEvents(new Date(), new Date(Date.now() + 7 * 24 * 60 * 60 * 1000))

Récupération des événements : Cette ligne récupère les événements du calendrier pour une période de 7 jours, en partant de la date actuelle (new Date()) jusqu’à une semaine plus tard.

  • new Date() crée un objet représentant la date et l’heure actuelles.
  • Date.now() + 7 * 24 * 60 * 60 * 1000 ajoute 7 jours en millisecondes à la date actuelle, ce qui crée une période de 7 jours à partir d’aujourd’hui.

La méthode getEvents(startTime, endTime) renvoie une liste d’événements sur cette période.

🔻

sheet.clear()

Effacement de l’ancienne synchronisation : Cette ligne vide entièrement la feuille de calcul avant d’ajouter les nouveaux événements. Cela permet d’éviter d’avoir des événements en double ou obsolètes.

🔻

sheet.appendRow(['Titre', 'Date de début', 'Date de fin', 'Description'])

Ajout de l’en-tête : Cette ligne crée une ligne d’en-tête avec quatre colonnes : Titre, Date de début, Date de fin, et Description. Cela permet de structurer la feuille et de mieux organiser les informations.

🔻

events.forEach(function (event) {

Boucle sur les événements : La méthode forEach permet de parcourir chaque événement de la liste events récupérée précédemment. À chaque itération, la variable event représente un événement spécifique du calendrier.

🔻

sheet.appendRow([event.getTitle(),
    event.getStartTime(),
    event.getEndTime(),
    event.getDescription()])

Ajout des événements à la feuille : Pour chaque événement, cette ligne ajoute une nouvelle ligne dans la feuille avec :

  • Titre : récupéré par event.getTitle(), qui est le nom de l’événement
  • Date de début : event.getStartTime() qui fournit la date et l’heure de début
  • Date de fin : event.getEndTime() pour la date et l’heure de fin
  • Description : event.getDescription(), si une description a été ajoutée à l’événement

💡 Pourquoi c’est utile ?

  • Vue centralisée : Tous vos événements sont visibles d’un seul coup d’œil, facilitant ainsi la gestion de votre temps.
  • Partage facilité : Vous pouvez partager la feuille Google avec vos collègues ou votre équipe pour une meilleure coordination.
  • Analyse des données : En utilisant Google Sheets, vous pouvez appliquer des filtres, créer des graphiques, et même utiliser des formules pour analyser votre emploi du temps.

Que vous gériez des réunions, des rendez-vous ou des deadlines, cette automatisation vous fera gagner un temps précieux.


Conclusion

Ce type d’automatisation avec Google Apps Script vous permet non seulement de rester organisé, mais aussi de mieux collaborer avec votre équipe et synchroniser Google Agenda avec Google Sheets. Avez-vous déjà testé cette fonctionnalité ? N’hésitez pas à partager vos retours d’expérience ou poser vos questions dans les commentaires ! 👇


Retrouvez nous sur les réseaux sociaux :

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *