1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61
| function myFunction() {
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, 22) // 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 RDV = column[2]; // Colonne B - Titre de l'événement dans l'agenda - Titre du rendez-vous
var DateDebut = column[3]; // Colonne C - date et heure de début de l'événement
var DateFin = column[4]; // Colonne D - date et heure de fin de l'événement
var adresse bénéficaire = column[5]; // Colonne E - Motif du rendez-vous
var tel bénéficiaire = column[6]; // Colonne F - Motif du rendez-vous
var matériel emprunté = column[7]; // Colonne G - Nom du contact
var quantité = column[8]; // Colonne F - Adresse
var matériel emprunté - 2 = column[9]; // Colonne G - Code postal
var quantité 2 = column[10]; // Colonne H - Ville
var matériel emprunté - 3 = column[11]; // Colonne I - Numéro de téléphone
var quantité 3 = column[12]; // Colonne J - Motif du rendez-vous
var matériel emprunté - 4 = column[13]; // Colonne J - Motif du rendez-vous
var quantité 4 = column[14]; // Colonne J - Motif du rendez-vous
var matériel emprunté - 5 = column[15]; // Colonne J - Motif du rendez-vous
var quantité 5 = column[16]; // Colonne J - Motif du rendez-vous
var matériel emprunté - 6 = column[17]; // Colonne J - Motif du rendez-vous
var quantité 6 = column[18]; // Colonne J - Motif du rendez-vous
var Problème retour matériel? = column[19]; // Colonne J - Motif du rendez-vous
var Montant de la caution = column[20]; // Colonne J - Motif du rendez-vous
var Tarif exigé = column[21]; // Colonne J - Motif du rendez-vous
var Remarques = column[22]; // Colonne J - Motif du rendez-vous
var description = "Nom du contact : "+ titre RDV +" // Adresse : "+ adresse bénéficiaire +" // Numéro de téléphone : "+ tél bénéficiaire +" // Matériel emprunté : "+ matériel emprunté +" // quantité : "+quantité +" // Matériel emprunté 2: "+ matériel emprunté - 2 +" // quantité 2: "+quantité +" //Matériel emprunté 3 : "+ matériel emprunté - 3 +" // quantité 3 : "+quantité +" //Matériel emprunté 4 : "+ matériel emprunté - 4 +" // quantité : "+quantité 4 +" //Matériel emprunté 5 : "+ matériel emprunté - 5 +" // quantité : "+quantité 5 +" //Matériel emprunté 6: "+ matériel emprunté - 6 +" // quantité : "+quantité +" //concatenation des champs des colonnes E à J destinée à la zone Description de l'agenda
var eventImported = column[23];// Colonne K - Statut de l'importation - colonne AJOUTE A L'AGENDA
var setupInfo = ss.getSheetByName("réservation matériel ccpd"); // 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();
}
}
}
} |
Partager