Aller au contenu
OneKitly

Un événement récurrent fait une ligne dans le CSV, pas douze

Publié le 07/09/2026 · 5 min de lecture · Outils fichiers

Daniel Okonkwo

Daniel OkonkwoDéveloppeur front-end et rédacteur Tech chez OneKitly

Performance web · Formats de fichiers

Vérifié à partir de 3 sources

Voir le profil
En bref

L'iCalendar ne range pas les occurrences d'un événement répété. Il range un seul VEVENT et une règle de récurrence — RRULE:FREQ=WEEKLY;BYDAY=TU;COUNT=12 — et c'est chaque agenda qui déplie cette règle à l'écran. En passant le convertisseur sur un fichier contenant quatre VEVENT, dont cette réunion hebdomadaire de douze occurrences, on obtient quatre lignes : les douze mardis ne figurent nulle part dans le fichier. Le CSV a huit colonnes — résumé, début, fin, lieu, description, organisateur, statut, uid — et aucune n'est une règle de récurrence : la série ne survit que par sa première date. S'il te faut une ligne par occurrence, déplie la série dans l'agenda puis exporte le résultat ; s'il te faut garder la règle, reste en iCalendar et sers-toi du visualiseur .ics ou de l'export JSON, qui la transmettent intacte.

Un fichier .ics range une réunion hebdomadaire une seule fois, avec une règle attachée. À l'export CSV tu obtiens une ligne pour toute la série — c'est le fichier qui est honnête, pas le convertisseur qui perd des lignes.

Ce que contient réellement un fichier d'agenda

Ouvre un .ics dans un éditeur de texte : c'est une liste de blocs, chacun de BEGIN:VEVENT à END:VEVENT, portant un début, une fin, un titre et quelques autres propriétés. Un rendez-vous répété, c'est un de ces blocs plus une seule ligne, RRULE, qui dit comment il se répète. Douze points hebdomadaires font douze lignes à l'écran et un bloc sur le disque, et les douze dates sont calculées par ce qui les affiche.

Cette conception est ce qui permet à un agenda de garder un anniversaire répété à l'infini en quelques dizaines d'octets, et ce qui fait que déplacer une seule occurrence d'une série est une propriété à part entière, RECURRENCE-ID, plutôt que la modification d'une ligne. C'est aussi ce qui empêche un convertisseur d'inventer les occurrences sans devenir lui-même un moteur d'agenda — avec les années bissextiles, les sauts d'heure d'été et les dates d'exception que cela suppose.

Les huit colonnes, et ce qui tombe à côté

L'export écrit résumé, début, fin, lieu, description, organisateur, statut et uid — dans cet ordre, une ligne par VEVENT. Un tableur est un rectangle, et tout ce qu'un événement porte qui ne soit pas une valeur unique par événement n'a nulle part où aller : la règle de récurrence, les alarmes, la liste des participants, les pièces jointes, le fuseau dans lequel le début a été écrit. Garde le .ics lui-même si l'un de ces éléments compte ; le CSV sert à lire, trier et compter, pas à archiver.

Obtenir une ligne par occurrence, quand il en faut vraiment une

Demande à l'agenda de faire le dépliage : lui seul connaît tes dates d'exception. Dans Google Agenda, Outlook et Calendrier d'Apple, le chemin fiable est le même : passe en vue liste ou planning sur la période qui t'intéresse, sélectionne la plage, et exporte ou imprime cela — une vue est déjà dépliée, donc ce qui en sort fait une ligne par occurrence. Exporter l'agenda lui-même te redonne la forme compacte, règle comprise.

L'autre sens vaut d'être connu : si tu fabriques un .ics depuis un tableur où tu as déjà écrit chaque date, tu obtiens exactement les événements listés, sans règle attachée. C'est en général ce qu'on veut pour un planning de séances ponctuelles, et c'est une mauvaise façon de ranger une réunion hebdomadaire permanente, qui fera alors douze éléments distincts à déplacer si l'horaire change.

Un fichier .ics, quatre VEVENT, quatre lignes — et ce que chacune garde
Événement du fichierÉcrit commeLignes dans le CSVPerdu par le CSV
Réunion d'équipe, 7 sept., 14h00-15h30 ParisDTSTART;TZID=Europe/Paris1Le fuseau nommé
Noël, journée entièreDTSTART;VALUE=DATE1Qu'il s'agit d'un jour, pas d'un instant
Point hebdomadaire, 12 mardisRRULE:FREQ=WEEKLY;COUNT=121, pas 12La règle elle-même
Ponctuel, titre replié sur deux lignesReplié selon la RFC 55451Rien
ICS en CSVTransforme un fichier de calendrier en tableau d'événements, avec de vraies dates.Essayer l'outil

Questions fréquentes

Mon CSV a moins de lignes que mon agenda n'affiche. Le convertisseur est-il cassé ?
Presque certainement pas — compte tes événements répétés. Chacun n'est qu'un seul VEVENT dans le fichier, quel que soit le nombre de fois qu'il s'affiche, si bien qu'un agenda montrant 60 rendez-vous peut très bien être un fichier qui en contient 12. Ouvre le .ics dans le visualiseur et compare son nombre d'événements au nombre de lignes du CSV : s'ils coïncident, rien n'a été perdu à la conversion.
Puis-je modifier le CSV et le retransformer en agenda ?
Oui, et cet aller-retour est la raison d'être des deux outils — mais il revient en événements ponctuels. Une série exportée en une ligne puis réimportée fait un rendez-vous unique : la règle n'a jamais été dans le tableur. Modifie librement titres, horaires et lieux là-bas ; refais les récurrences dans l'agenda ensuite.
Quel outil conserve la règle de récurrence ?
Le visualiseur .ics et l'export JSON l'affichent tous les deux, et la fusion de fichiers .ics la conserve, parce que ces trois-là restent dans l'iCalendar. Seul le CSV la laisse tomber, et seulement parce qu'une colonne de tableur ne peut pas la porter. Si ton travail est d'inspecter ou de déplacer des agendas plutôt que de les compter, préfère ces trois-là et garde le CSV pour les fois où tu veux vraiment un tableau.
Mon agenda est-il envoyé quelque part ?
Non. Le fichier est lu dans ton navigateur et le CSV y est fabriqué ; rien ne quitte la machine. Cela compte plus pour un agenda que pour la plupart des fichiers, parce qu'un agenda est une carte de qui tu rencontres et d'où tu es — exactement le genre de chose qu'on préfère convertir sans la confier à un serveur.

Articles qui pourraient t'intéresser

Tous les guides
ExplicationLe même fichier .ics peut désigner cinq heures différentesL'iCalendar écrit une heure de début de trois façons, et une seule est sans ambiguïté. Une réunion écrite avec un fuseau nommé, convertie sur des machines à Paris, New York et Honolulu, s'est étalée sur dix-neuf heures et a changé de jour.ExplicationPourquoi ton CSV casse les accents et les dates dans ExcelTrois pannes totalement différentes se cachent derrière la même phrase. L'une est l'encodage, l'autre le séparateur, la troisième Excel qui devine des types en ouvrant le fichier — et le remède diffère pour chacune. Voici comment les distinguer en cinq secondes.ExplicationUn .mbox, ce sont des messages collés bout à bout, et la colle est une ligneUn fichier, des milliers de messages, séparés par une ligne commençant par From. Le format a une faiblesse célèbre, et c'est la raison pour laquelle un message peut perdre sa fin sans que rien ne signale d'erreur.ExplicationUne pièce jointe grossit d'un tiers dans l'e-mailLe courrier transporte les fichiers en texte, trois octets écrits en quatre caractères. Une pièce jointe de 10 Mio occupe 13,68 Mio du message — d'où le fait qu'une limite de 25 Mo signifie en réalité environ 18 Mio de fichiers.TutorielOuvrir un fichier .eml sans prévenir l'expéditeurUn message enregistré est un fichier texte lisible partout. Le hic, c'est qu'ouvrir ce fichier dans un logiciel qui charge les images distantes annonce l'instant où tu l'as fait — c'est précisément à quoi sert un pixel espion.ExplicationConvertir les formules en valeurs garde la réponse en cache, pas le calculUn fichier de tableur range à la fois la formule et la dernière réponse calculée par Excel. Retirer la formule laisse la réponse enregistrée — et laisse un vide partout où le fichier n'en portait pas.

Outils similaires

Sources

Tu as repéré une erreur dans cet article ?