var _____WB$wombat$assign$function_____ = function(name) {return (self._wb_wombat && self._wb_wombat.local_init && self._wb_wombat.local_init(name)) || self[name]; }; if (!self.__WB_pmw) { self.__WB_pmw = function(obj) { this.__WB_source = obj; return this; } } { let window = _____WB$wombat$assign$function_____("window"); let self = _____WB$wombat$assign$function_____("self"); let document = _____WB$wombat$assign$function_____("document"); let location = _____WB$wombat$assign$function_____("location"); let top = _____WB$wombat$assign$function_____("top"); let parent = _____WB$wombat$assign$function_____("parent"); let frames = _____WB$wombat$assign$function_____("frames"); let opener = _____WB$wombat$assign$function_____("opener"); 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 = 2; // 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, 11) // 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 Nom = column[4]; // Colonne E - Nom du contact var Adresse = column[5]; // Colonne F - Adresse var CP = column[6]; // Colonne G - Code postal var Ville = column[7]; // Colonne H - Ville var NumTel = column[8]; // Colonne I - Numéro de téléphone var Motif = column[9]; // Colonne J - Motif du rendez-vous var description = "Nom du contact : "+ Nom +" // Adresse : "+ Adresse +" // Code postal : "+ CP +" // Ville : "+ Ville +" // Numéro de téléphone : "+ NumTel +" // Motifs du rendez-vous : "+ Motif // concatenation des champs des colonnes E à J destinée à la zone Description de l'agenda var eventImported = column[10];// 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), {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 sheet.getRange(startcolumn + i, 11).setValue(EVENT_IMPORTED); // Nombre de colonne contenant des données SpreadsheetApp.flush(); } } } } /* FILE ARCHIVED ON 07:23:22 Jun 27, 2024 AND RETRIEVED FROM THE INTERNET ARCHIVE ON 19:46:26 May 05, 2025. JAVASCRIPT APPENDED BY WAYBACK MACHINE, COPYRIGHT INTERNET ARCHIVE. ALL OTHER CONTENT MAY ALSO BE PROTECTED BY COPYRIGHT (17 U.S.C. SECTION 108(a)(3)). */ /* playback timings (ms): captures_list: 0.487 exclusion.robots: 0.018 exclusion.robots.policy: 0.008 esindex: 0.009 cdx.remote: 12.952 LoadShardBlock: 342.23 (3) PetaboxLoader3.datanode: 329.646 (5) PetaboxLoader3.resolve: 446.719 (2) load_resource: 494.418 loaddict: 57.701 */