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 :
function syncAgendaVersSheet() {
const calendarId = 'votrecalendrier@gmail.com' // Remplacez par l'ID de votre calendrier
const sheet = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet()
const calendar = CalendarApp.getCalendarById(calendarId)
const events = calendar.getEvents(new Date(), new Date(Date.now() + 7 * 24 * 60 * 60 * 1000)) // Les événements sur 7 jours
// Efface l'ancien contenu
sheet.clear()
sheet.appendRow(['Titre', 'Date de début', 'Date de fin', 'Description'])
// Ajoute les événements
events.forEach(function (event) {
sheet.appendRow([event.getTitle(),
event.getStartTime(),
event.getEndTime(),
event.getDescription()])
})
}
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.
🔎 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 »
🔻
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 :