Trouver le prochain créneau libre dans Google Agenda avec Google Apps Script

Planifier un rendez-vous peut rapidement devenir un casse-tête, surtout avec des horaires chargés. Heureusement, Google Apps Script permet de faciliter cette tâche. Aujourd’hui, je vous présente une fonction qui trouve automatiquement le prochain créneau disponible dans votre calendrier Google. Vous pouvez indiquer un jour, une heure de début, et même la durée de votre réunion.

Fonction principale

La fonction trouverProchainCreneauLibre scanne votre calendrier pour repérer le créneau libre le plus proche. Elle prend en compte les horaires de bureau (de 8h à 18h) et ajuste la recherche si le créneau est déjà occupé ou en dehors de ces heures. Grâce à une durée personnalisable, vous pouvez adapter la fonction à vos besoins spécifiques.

Exemple de code

Voici le code de cette fonction que vous pouvez intégrer dans votre projet :

function trouverProchainCreneauLibre(jour, horaire, dureeEnHeures = 1) {
    const calendrier = CalendarApp.getDefaultCalendar();
    const fuseauHoraire = "Europe/Paris";
    let dateDebut = obtenirProchaineDate(jour, horaire, fuseauHoraire);
    let dateFin = new Date(dateDebut.getTime() + dureeEnHeures * 60 * 60 * 1000);
    let evenements = calendrier.getEvents(dateDebut, dateFin);

    while (evenements.length > 0 || dateDebut.getHours() < 8 || dateDebut.getHours() + dureeEnHeures > 18) {
        dateDebut.setHours(dateDebut.getHours() + 1);
        dateFin = new Date(dateDebut.getTime() + dureeEnHeures * 60 * 60 * 1000);
        evenements = calendrier.getEvents(dateDebut, dateFin);
    }

    return dateDebut;
}

Explication du code

  1. Accès au calendrier : La fonction CalendarApp.getDefaultCalendar() récupère votre calendrier par défaut, sans que vous ayez besoin de spécifier un autre calendrier.
  2. Calcul de la plage horaire : À partir du jour et de l’heure que vous indiquez, la fonction crée une plage de temps en fonction de la durée souhaitée. Si le créneau est déjà pris, la recherche continue jusqu’à trouver un créneau libre.
  3. Vérification des événements : Grâce à une boucle, le script vérifie si des événements existent déjà à l’heure choisie. Si c’est le cas, il déplace la plage horaire d’une heure, tout en respectant les horaires de bureau (8h-18h).
  4. Renvoi de la prochaine heure disponible : La fonction retourne la prochaine heure disponible une fois qu’un créneau est libre.

Utilisation de la fonction

Pour exploiter ce script, ouvrez l’éditeur de scripts de Google Apps et collez ce code. Ensuite, vous pouvez personnaliser l’appel de la fonction pour rechercher des créneaux de différentes durées.

Par exemple, pour trouver un créneau de 2 heures à partir de mardi 14h :

let prochainCreneau = trouverProchainCreneauLibre("mardi", "14:00", 2);
Logger.log(prochainCreneau);

Le script vérifie d’abord si le créneau de 14h est libre, puis propose automatiquement le prochain créneau disponible si ce n’est pas le cas.

Optimisations supplémentaires

  • Durée personnalisable : Il est possible d’adapter facilement la durée du créneau à vos besoins, que ce soit une réunion rapide de 30 minutes ou une session de 3 heures.
  • Respect des horaires de travail : Vous pouvez ajuster la fonction pour définir des horaires spécifiques selon vos préférences, par exemple pour des consultations après 19h.

En utilisant cette fonction, vous facilitez considérablement la gestion de votre emploi du temps. Elle automatise la recherche de créneaux disponibles et assure que vos événements sont bien planifiés. N’hésitez pas à tester cette approche dans vos processus quotidiens et à l’adapter selon vos besoins.


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.

Je suis prêt à vous accompagner dans la mise en œuvre de cette solution.