Afficher un agenda dans Google Slides avec Apps Script

Avez-vous déjà souhaité intégrer vos événements Google Agenda directement dans une présentation Google Slides ? Grâce à Apps Script, c’est désormais possible ! Dans cet article, nous allons découvrir comment automatiser l’ajout des événements de calendrier sur des diapositives, en fonction d’une plage de dates sélectionnée.

Fonctionnalités du script

Le script permet de :

  • Sélectionner une plage de dates.
  • Récupérer les événements de votre Google Calendar sur cette période.
  • Générer des diapositives dans Google Slides avec les événements formatés.
  • Styliser les diapositives pour une meilleure lisibilité.

Comment ça marche ?

Voyons en détail le fonctionnement du script.

1. Ajout du Menu Personnalisé

function onOpen() {
  const ui = SlidesApp.getUi();
  ui.createMenu('Agenda')
    .addItem('Afficher l\'agenda', 'afficherDialogueSelectionDates')
    .addToUi();
}

Lors de l’ouverture du document, la fonction onOpen ajoute un menu personnalisé intitulé Agenda. Ce menu contient une option pour afficher un sélecteur de dates.

2. Affichage du sélecteur de dates

function afficherDialogueSelectionDates() {
  const sortieHtml = HtmlService.createHtmlOutputFromFile('DatePicker')
    .setWidth(400)
    .setHeight(300);
  SlidesApp.getUi().showModalDialog(sortieHtml, 'Sélectionner les dates');
}

Cette fonction affiche une boîte de dialogue modale avec un sélecteur de dates (contenu dans le fichier HTML DatePicker).

3. Traitement des dates sélectionnées

function traiterDates(dateDebut, dateFin) {
  const dateDebutParsee = new Date(dateDebut);
  const dateFinParsee = new Date(dateFin);

  // Vérification des dates
  if (isNaN(dateDebutParsee.getTime()) || isNaN(dateFinParsee.getTime())) {
    SlidesApp.getUi().alert('Dates invalides. Veuillez réessayer.');
    return;
  }

  if (dateDebutParsee > dateFinParsee) {
    SlidesApp.getUi().alert('La date de début doit être antérieure à la date de fin. Veuillez corriger les dates.');
    return;
  }

  afficherAgenda(dateDebutParsee, dateFinParsee);
}

Après la sélection, le script vérifie la validité des dates et s’assure que la date de début précède la date de fin.

4. Formatage des dates et heures

Plusieurs fonctions sont utilisées pour formater les dates et heures des événements.

  • formaterDateEvenement : Formate la date (avec ou sans heure).
  • formaterDateSansHeure : Formate uniquement la date.
  • formaterHeureEvenement : Formate uniquement l’heure.
  • estMemeJour : Vérifie si un événement commence et se termine le même jour.
  • estEvenementUnJour : Vérifie si un événement dure une journée entière.

5. Affichage des événements sur les diapositives

function afficherAgenda(dateDebut, dateFin) {
  const idCalendrier = Session.getActiveUser().getEmail();  
  const calendrier = CalendarApp.getCalendarById(idCalendrier);

<strong>// Extrait</strong> &gt; contactez moi pour la version complète

  Logger.log('Agenda stylisé ajouté avec succès.');
}

Note : La fonction afficherAgenda contient la logique principale. Elle est disponible dans la version complète du script (contactez moi au besoin).

Cette fonction est le cœur du script. Elle :

  • Récupère les événements du calendrier entre les dates spécifiées.
  • Vérifie s’il y a des événements à afficher.
  • Crée des diapositives en fonction du nombre d’événements.
  • Formate et affiche chaque événement sur les diapositives.

6. Formatage de la date en français

const formaterDateFr = date =&gt; {
  return Utilities.formatDate(date, Session.getScriptTimeZone(), "dd/MM/yyyy");
};

Cette fonction aide à afficher les dates au format français.

Mise en place du script

Pour utiliser ce script :

  1. Ouvrez une présentation Google Slides.
  2. Allez dans Extensions > Apps Script.
  3. Collez le script dans l’éditeur.
  4. Enregistrez et actualisez la présentation.
  5. Un nouveau menu Agenda devrait apparaître.

Mise en oeuvre et support

Grâce à ce script, vous pouvez désormais intégrer facilement vos événements Google Agenda dans vos présentations Google Slides. C’est un excellent moyen de partager votre agenda avec d’autres personnes de manière visuelle et organisée.

Si vous avez besoin d’assistance pour mettre en place ce script ou pour le personnaliser selon les besoins de votre entreprise, je suis à votre disposition pour vous aider.


Soutenez mon travail

Si cet article vous a été utile et que vous souhaitez soutenir mon travail, vous pouvez me remercier en faisant un don via PayPal. Chaque contribution est grandement appréciée et m’aide à continuer à partager des astuces et conseils sur ce blog. Merci pour votre soutien !

L’Atelier Informatique vous accompagne dans vos projets technologiques en vous proposant des tutoriels et des solutions pour optimiser vos tâches quotidiennes.