none
google Sheets vers Calendrier google RRS feed

  • Question

  • Bonjour à tous,

    Je viens posé la question ici car je ne sais pas vraiment à quel endroit je dois la mettre.

    Je fais partie d'une association nous prêtons des ustensiles et machine à café par exemple À d'autres associations, pour que les réservations se fasse correctement j'ai créer un formulaire de réservation sur Google Drive qui est reliée à Google Sheets le lien entre les deux ce fait sans problème.

    Pour certains peut-être que c'est facile mais je vous avoue que je débute j'essaye de comprendre toutes ces lignes de code mais ce n'est ce n'est pas facile j'arrive à travailler sur Excel sans problème À peu près, met la sur Google je comprends pas d'où peut venir l'erreur ?

    Mon problème vient que quand je souhaite que Google Sheets soit relié à un agenda Google j'ai repris une formule que j'ai trouvée sur un tutoriel et que j'essaye d'adapter À mon formulaire mais il me met des messages d'erreur concernant ce que j'ai mis en gras dans le code ci-dessous, je ne comprends pas pouvez-vous m'aider s'il vous plaît en vous remerciant d'avance je vous joins le code.

    [code]

    var EVENT_IMPORTED = "AJOUTE"; // Ajoutera le texte "AJOUTE" dans la colonne Y
    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 range = sheet.getDataRange();
        var startrow = 2;     // Première ligne de prise en compte des données
        var startcolumn = 2;  // Première colonne de prise en compte des données, soit la colonne B (titre du rendez-vous)
        var numrows = range.getLastRow();        // Nombre de lignes
        var numcolumns = range.getLastColumn();  // Nombre de colonnes
        var data = sheet.getRange(startrow, startcolumn, numrows-1, numcolumns).getValues();   // Plage contenant des données
    
      for (var i = 0; i < numrows-1; ++i) { 
        var column = data[i];
        var Horodateur = column[0];                     // Colonne B - Titre de l'événement dans l'agenda - Titre du rendez-vous
        var DateDebut = column[7];    // Colonne g - date
        var DateFin = column[8];      // Colonne h - date 
        var Choisirlassociation = column[2];  // Colonne E - événement sur la journée
        var Emaildelassociation = column[4];  // Colonne F - description de l'événement
        var personneresponsable = column[5];  // Colonne G - lieux de l'événement
        var Ustensilesetmachines = column[6]; // Colonne H - statut privé / public de l'événement
        var platsinox = column[7]; // Colonne I - Rappel n°1
                       
       
        var eventImported = column[9]; // Colonne S - Statut de l'importation - colonne AJOUTE A L'AGENDA
    
        var Description_complete = Choisirlassociation + "\nRessources : " + Ustensilesetmachines + "\nDisponibilité : " + platsinox  // concatenation des champs destinés à la zone Description de l'agenda
        
        var calendarName = sheet.getRange(numrows,1,numrows,1).getValue(); // Référence de la cellule contenant le nom de l'agenda
        
        var cal = CalendarApp.openByName(SportLoisirsCouzeixois);
               
        if (EvtJournee == "VRAI"){   //évènement sur la journée
          evt = SportLoisirsCouzeixois.createAllDayEvent(Choisirlassociation, new Date(DateDebut),  {description: Description_complete, location: Lieux, guests: Participants});} // Création de l'événement dans l'agenda
          else evt = SportLoisirsCouzeixois.createEvent(Choisirlassociation, new Date(DateDebut), new Date(DateFin), {description: Description_complete, location: Lieux, guests: Participants}); // Création de l'événement dans l'agenda
    
        //visibilité de l'évènement
          switch(Private){
          case "PRIVATE" :
              evt.setVisibility(CalendarApp.Visibility.PRIVATE);
              break;
          case "PUBLIC" :
              evt.setVisibility(CalendarApp.Visibility.PUBLIC);
              break;
          case "CONFIDENTIAL" :
              evt.setVisibility(CalendarApp.Visibility.CONFIDENTIAL);
              break;
          default :
              evt.setVisibility(CalendarApp.Visibility.DEFAULT);
          }
        
        //Rappels  
        if (Rappel1 == "VRAI"){                  // rappel n°1
          if (Rappel1Type == "NOTIF"){
            evt.addPopupReminder(Rappel1Min);}
          if (Rappel1Type == "EMAIL"){
            evt.addEmailReminder(Rappel1Min);}
          }
         
         if (Rappel2 == "VRAI"){                 // rappel n°2
          if (Rappel2Type == "NOTIF"){
            evt.addPopupReminder(Rappel2Min);}
          if (Rappel2Type == "EMAIL"){
            evt.addEmailReminder(Rappel2Min);}
          } 
       
          sheet.getRange(startrow + i, numcolumns).setValue(EVENT_IMPORTED); // Nombre de colonne contenant des données
       
          SpreadsheetApp.flush();  
        }
      }[code]


    dubarre

    lundi 4 mars 2019 08:41