Script Sheet to Agenda : Erreur "Event start time must be before event end

Y compris Google Docs, Slides et toute autre question en lien avec une application Google
a
abiais
Nouveau venu
Nouveau venu
Messages : 1
Inscrit le : 15 octobre 2019

Message par abiais » 15 octobre 2019, 09:25

Bonjour à tous,

Suite à plusieurs lectures de forum, j'ai adapté un code me permettant de créer des événements dans mon agenda gmail à partir d'une feuille de google sheets (je me suis inspirée de ce lien http://jemeformeaunumerique.fr/2014/01/06/remplir-automatiquement-un-agenda-google-depuis-un-formulaire-google-drive/.

Je l'ai adapté pour avoir le moins de colonnes possibles. Le but est que le script créé un menu "agenda", "ajouter évt à agenda" dans ma page active, et m'ajoute ligne par ligne les événements.
Mais impossible d'exécuter le second script, j'ai systématiquement cette erreur : "Event start time must be before event end time". même en essayant plein de combinaisons date/heure différentes ! Quelqu'un peut-il m'aider?

Voici en PJ mon document au format excel
Outil contenu.xlsx
(112.68 Kio) Pas encore téléchargé
Voici mon code;
#code :	
var EVENT_IMPORTED = "AJOUTE"; // Ajoutera le texte "AJOUTE" dans la colonne K
var ss = SpreadsheetApp.getActiveSpreadsheet();
 
function onOpen() {
   var menuEntries = [{name: "Ajouter les événements à l'agenda", functionName: "importCalendar"}];
   ss.addMenu("Agenda", menuEntries); // Pour ajouter une menu Agenda et un sous-menu "ajouter les événements" dans la feuille de calcul. Cela permettra de tester manuellement la liaison entre la feuille de calcul et l'agenda
}
 
function importCalendar() {
    var sheet = SpreadsheetApp.getActiveSheet();
    var startcolumn = 1;  // Première colonne de prise en compte des données, soit la colonne B (titre du rendez-vous)
    var numcolumns = 30;  // Nombre de colonne
    var dataRange = sheet.getRange(startcolumn, 1, numcolumns, 3)   // Nombre de colonne contenant des données
    var data = dataRange.getValues();
  for (var i = 0; i < data.length; ++i) { 
    var column = data[i];
    var titre = column[1];        // Colonne B - Titre de l'événement dans l'agenda - Titre du rendez-vous
    var DateDebut = column[2];    // Colonne C - date et heure de début de l'événement
    var DateFin = column[3];      // Colonne D - date et heure de fin de l'événement
    var eventImported = column[8];// Colonne K - Statut de l'importation - colonne AJOUTE A L'AGENDA
 
 
    var setupInfo = ss.getSheetByName("Agenda"); // Nom de la feuille de calcul contenant la nom de l'agenda
    var calendarName = setupInfo.getRange("A1").getValue(); // Référence de la cellule contenant le nom de l'agenda
 
    if (eventImported  != EVENT_IMPORTED && titre != "") {  // Evite les doublons dans l'agenda, si le texte AJOUTE est présent en K, l'événement n'est pas ajouté
    var cal = CalendarApp.openByName(calendarName);
 
 
     cal.createEvent(titre, new Date(DateDebut), new Date(DateFin)); // Création de l'événement dans l'agenda avec le titre, la date de début, la date de fin et la description complète
 
 
      sheet.getRange(startcolumn + i, 3).setValue(EVENT_IMPORTED); // Nombre de colonne contenant des données
 
      SpreadsheetApp.flush();  
    }
  }
}
Répondre Sujet précédentSujet suivant
  • Sujets similaires
    Réponses
    Vues
    Dernier message