Synchronisation Sheet > Google Calendar

Bonjour, je sais que c'est un sujet souvent abordé, mais justement, c'est tellement vaste que j'expose mon cas pour espérer être orienté dans mes recherches...

Pour la gestion de réservations de prestations d'une equipe de guides, on a un sheet qui ressemble à ca :

xxx

Ne pas tenir compte des colonnes C à L.

Donc, pour chaque jour, on a des cases en "validation des données" selon cette légende :

capture d e cran 2022 07 30 a 22 12 43

On voudrait que la ligne de chaque guide soit "exportée" vers le google calendar du guide. Aucun besoin d'informations à part, par exemple "dimanche 02/01/2022 > un événement toute la journée appelé PERM affiché dans le calendar de Guillaume B."

Merci pour votre aide, pour commencer mes recherches.

Bonjour,

si je comprends bien, seule l'information PERM est à prendre en compte

  • doit-on prendre en compte aussi le fait des changements sur une colonne ? (X remplace alors Y)
  • les guides ont-ils tous un compte gmail ?
  • y a t'il une boite mail globale qui puisse enregistrer tous les événements, avec comme 'invité' les différents guides ?

- Non, chaque légende devra apparaitre (PERM / BMR /Trek Perso / Provisoire / etc...) "Aucun besoin d'informations" : je voulais dire d'horaire, par exemple. Juste afficher la valeur de la case, toute la journée, ça suffit bien.

- Oui, il existe un compte Gmail général. C'est ce compte qui gère les autorisations, notamment les partages Drive.

-Oui, les guises possèdent chacun un compte Gmail. Pour accéder au Drive.

- "doit-on prendre en compte aussi le fait des changements sur une colonne ? (X remplace alors Y)"

Sorry, je ne comprends pas ta question...

Non pas de remplacement. Guillaume B. par exemple, verrait sur son agenda : PERM le 02/01, DISPO le 03/01, BMR le 04/01, BMR le 05/01....etc.

j'ai tout préparé ... mais il me manque un point :

  • les adresses mail des guides se trouvent où dans le fichier ?

Elles n'y figurent pas !

Tu as donc pu faire la commande ? whaou, top.

Je peux te filer les adresses en mp.

non, pas la peine, je compléterai par un jeu d'essai fictif

Yes, si je comprends le code, je remplace bien sûr les adresses. je t'ai envoyé quand même...

- Non, chaque légende devra apparaitre (PERM / BMR /Trek Perso / Provisoire / etc...)

1- Dispo, Refus, OFF aussi ?

2- est-ce qu'il faudra initialiser à partir de la grille existante ? cela peut être long et dépasser les 6mn autorisées par google, il faudra alors le faire jour par jour.

1.Oui, si possible tous les items de la legende.

2. À partir de la grille existante, oui, pour les jours à venir (jusqu'au 31/12/2022).

Il y aura un autre fichier comparable pour 2023.

J'ignorais cette restriction de 6mn.

"le faire jour par jour..." je comprends mal...

Bon voilà, prends une copie

https://docs.google.com/spreadsheets/d/1siUv5-EpmnhE_MNQHz4zL3I4pa93hCnaJBBTKBtkjIk/copy

Comme je l'ai dit, ma première mouture est passée à la poubelle, trop de risques en cas de changement.

Donc ici :

  1. mets dans l'onglet paramètres les choix possibles avec tes couleurs
  2. ne touche pas à l'onglet BdD, d'ailleurs tu peux le masquer
  3. dans planning, mets les emails en colonne B (que tu peux masquer) et les noms en C
  4. choisis l'année et le mois en C2 et C3, le calendrier s'affiche en automatique
  5. dans le script, il faudra peut-être mettre à jour ceci const cal = CalendarApp.getDefaultCalendar() 2 fois, je ne peux pas le faire à ta place il faut aller chercher l'identifiant de l'agenda que tu gères, au besoin cliques sur paramètres de cet agenda et fais moi une copie d'écran
  6. j'espère que tu vois un menu personnalisé, dans ce cas lance le, et joue avec un collègue au départ pour voir comment réagit les agendas
image

OK, j'ai créé, dans le compte calendar "maitre", un Agenda "TEST PLANNING MEMBRES"

J'ai bien l'ID de cet agenda. Ou est-ce que je le mets dans le script ?

capture d e cran 2022 08 06 a 14 48 03

ah oui, en effet, voici un exemple tiré de https://developers.google.com/apps-script/reference/calendar/calendar-app#getcalendarbyidid

var cal = CalendarApp.getCalendarById('en.usa#holiday@group.v.calendar.google.com');
Rechercher des sujets similaires à "synchronisation sheet google calendar"