Bonjour,

J'ai trouvé un script sur internet qui permet de planifier des rdv sur google agenda depuis google sheet.
En gros, on remplis toute les info concernant un rdv sur un tableau google sheet ( date et heure du rdv, motif, etc..) et ça l'enregistre automatiquement sur votre agenda google.
Cette partie la fonctionne.

Par contre la ou j'ai un soucis c'est lorsque je modifie une information sur google sheet concernant un rdv au lieu d'actualiser le rdv qui est déja planifier sur google agenda, il me créer un doublon avec les info que j'ai modifié.
Du coup je me retrouve avec 2 même rdv mais un avec les anciennes info et l'autre avec les nouvelles.
Moi je voudrais qu'il actualise le rdv qui a les mauvaises info avec celle que je rentre sur google sheet

voici le script que j'utilise :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
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
62
63
64
65
66
67
var EVENT_IMPORTED = "AJOUTE"; // Ajoutera le texte "AJOUTE" dans la colonne R
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 A
var numcolumns = 30; // Nombre de colonne
var dataRange = sheet.getRange(startcolumn, 1, numcolumns, 19) // Nombre de colonne contenant des données
var data = dataRange.getValues();
for (var i = 0; i < data.length; ++i) {
var column = data[i];
var ITS = column[1]; // Colonne B - ITS CARD
var titre = column[2]; // Colonne C - Titre
var DateStart = column[3]; // Colonne D - date et heure de debut de l'événement
var DateEnd = column[4]; // Colonne E - date et heure de fin de l'événement
var HOFID = column[5]; // Colonne F - HOFID
var Gender = column[6]; // Colonne G - Genre
var Age = column[7]; // Colonne H - Age
var Email = column[8]; // Colonne I - Email
var Mobile = column[9]; // Colonne J - Telephone
var Address = column[10]; // Colonne K - Adresse
var City = column[11]; // Colonne L - Ville
var Sector = column[12]; // Colonne M- Secteur
var SubSector = column[13]; // Colonne N - Sous secteur
var Status = column[14]; // Colonne O - Statut
var LastYears = column[15]; // Colonne P - Année derniere
var Remarks = column[16]; // Colonne Q - Remarque
 
var description =
" titre : "+ titre +
" ITS : " + ITS +
" HOFID : "+ HOFID +
" Genre : "+ Gender +
" Age : " + Age +
" Email : " + Email +
" Mobile : "+ Mobile +
" Adresse : " + Address +
" Ville :" + City +
" Secteur " + Sector +
" Sous Secteur :" + SubSector +
" Statut: "+ Status +
" Année derniere :" + LastYears +
" Remarque :" + Remarks
 
var eventImported = column[18];// 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
 
var cal = CalendarApp.openByName(calendarName);
 
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é
 
{
cal.createEvent(titre, new Date(DateStart), new Date(DateEnd), {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, 18).setValue(EVENT_IMPORTED); // Nombre de colonne contenant des données
 
SpreadsheetApp.flush();
}
}
}
je sollicite donc votre aide pour m'aider à trouver à résoudre ce soucis.

merci à vous