Advertisement
Guest User

Untitled

a guest
May 27th, 2019
80
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.24 KB | None | 0 0
  1. var EVENT_IMPORTED = "AJOUTE"; // Ajoutera le texte "AJOUTE" dans la colonne K
  2. var ss = SpreadsheetApp.getActiveSpreadsheet();
  3.  
  4. function onOpen() {
  5. var menuEntries = [{name: "Ajouter les événements à l'agenda", functionName: "importCalendar"}];
  6. 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
  7. }
  8.  
  9. function importCalendar() {
  10. var sheet = SpreadsheetApp.getActiveSheet();
  11. var startcolumn = 2; // Première colonne de prise en compte des données, soit la colonne B (titre du rendez-vous)
  12. var numcolumns = 30; // Nombre de colonne
  13. var dataRange = sheet.getRange(startcolumn, 1, numcolumns, 17) // Nombre de colonne contenant des données
  14. var data = dataRange.getValues();
  15. for (var i = 0; i < data.length; ++i) {
  16. var column = data[i];
  17. var titre = column[1]; // Colonne B - Titre de l'événement dans l'agenda - Titre du rendez-vous
  18. var DateDebut = column[2]; // Colonne C - date et heure de début de l'événement
  19. var DateFin = column[3]; // Colonne D - date et heure de fin de l'événement
  20. var Fullname = column[4]; // Colonne E - Nom du contact
  21. var Gender = column[5]; // Colonne F - Genre
  22. var Age = column[6]; // Colonne G - Age
  23. var Email = column[7]; // Colonne H - Email
  24. var Mobile = column[8]; // Colonne I - Numéro de téléphone
  25. var Address = column[9]; // Colonne J - Addresse
  26. var City = column[10]; // Colonne K - Ville
  27. var SectorSubsector = column[11]; // Colonne L - Secteur subsecteur
  28. var HOFID = column[12]; // Colonne M- HOFID
  29. var ITS = column[13]; // Colonne N - ITS
  30. var Lastyear = column[14]; // Colonne O - Année précédente
  31. var Remarks = column[15]; // Colonne P - Remarque
  32.  
  33. var description = "Nom du contact : "+ Fullname +" // Adresse : "+ Address +" // Ville : "+ City +" // ITS : "+ ITS +" // Numéro de téléphone : "+ Mobile +" // Motifs du rendez-vous : "+ Remarks // concatenation des champs des colonnes E à J destinée à la zone Description de l'agenda
  34. var eventImported = column[16];// Colonne Q - Statut de l'importation - colonne AJOUTE A L'AGENDA
  35.  
  36.  
  37. var setupInfo = ss.getSheetByName("agenda"); // Nom de la feuille de calcul contenant la nom de l'agenda
  38. var calendarName = setupInfo.getRange("A1").getValue(); // Référence de la cellule contenant le nom de l'agenda
  39.  
  40. if (eventImported != EVENT_IMPORTED && titre != "") { // Evite les doublons dans l'agenda, si le texte AJOUTE est présent en Q, l'événement n'est pas ajouté
  41. var cal = CalendarApp.openByName(calendarName);
  42.  
  43.  
  44. cal.createEvent(titre, new Date(DateDebut), new Date(DateFin), {description : description}); // 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
  45.  
  46.  
  47. sheet.getRange(startcolumn + i, 17).setValue(EVENT_IMPORTED); // Nombre de colonne contenant des données
  48.  
  49. SpreadsheetApp.flush();
  50. }
  51. }
  52. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement