Exporter Google Calendar vers Excel

Google Calendar n'exporte pas vers Excel directement. La méthode manuelle avec tableau croisé — et l'approche qui évite entièrement l'export.

5 min de lecture Adrien

Quand un client demande un récapitulatif de temps, la réponse se trouve dans Google Calendar. Chaque session de travail, chaque appel, chaque heure — tout est enregistré avec les horaires exacts.

Le problème : rien de tout ça ne sort sous forme de tableur. Google Calendar n’a pas de bouton “exporter vers Excel”. Pour obtenir vos heures dans un format lisible par un client ou utilisable pour la facturation, il faut passer par quelques étapes.

Voici ce que ça implique — et où ça coince.

Comment extraire les données de Google Calendar

Google Calendar peut exporter vos événements, mais pas vers Excel. Il exporte en .ics — un format texte que les applications de calendrier utilisent pour échanger des données.

Pour exporter : icône d’engrenage (en haut à droite) → Paramètres → “Importer et exporter” → “Exporter”. Google prépare un .zip. À l’intérieur : un fichier .ics par agenda — votre agenda principal, les agendas partagés, les secondaires.

Le .ics est un fichier texte. Si vous l’ouvrez, vous verrez des blocs comme celui-ci :

BEGIN:VEVENT
DTSTART:20240215T090000Z
DTEND:20240215T103000Z
SUMMARY:[Dupont] Appel stratégie
END:VEVENT

DTSTART et DTEND sont des horodatages en UTC. SUMMARY est le titre de l’événement. C’est votre matière brute — reste à la transformer en lignes et colonnes.

Convertir le .ics en tableur exploitable

Un fichier .ics ne s’ouvre pas proprement dans Excel. Il faut une étape intermédiaire.

Plusieurs outils gratuits en ligne acceptent un .ics et produisent un .csv. Le résultat : un tableur avec une ligne par événement et des colonnes pour le titre, la date/heure de début, la date/heure de fin, et parfois la durée si l’outil la calcule.

Si votre convertisseur n’inclut pas de colonne durée, ajoutez-la :

=(heure_fin - heure_debut) * 24

Cela donne des heures décimales — 1,5 pour une réunion de 90 minutes.

Ensuite, le tableau croisé dynamique avec la colonne titre en lignes et la colonne durée en valeurs vous donne les heures par client. Filtrez par tag client dans la colonne titre (tout ce qui commence par [Dupont] par exemple), ajoutez un filtre de dates pour votre période de facturation, et vous avez une feuille de temps.

L’ensemble — export, conversion, mise en place du tableau croisé — prend 30 à 40 minutes la première fois. Une fois le modèle prêt, les mois suivants vont plus vite. Mais vous recommencez le cycle export-import à chaque période de facturation.

Ce qui coince avec la méthode manuelle

La méthode fonctionne en théorie. En pratique, trois choses la fragilisent.

Les fuseaux horaires. Les fichiers .ics stockent toutes les heures en UTC. Les outils de conversion ICS-to-CSV gèrent la conversion de fuseau de façon incohérente. Si votre agenda est configuré sur un fuseau décalé par rapport à UTC — ce qui est le cas pour toute l’Europe — vos calculs de durée seront faux jusqu’à correction manuelle. Un appel de 90 minutes à 9h à Paris en hiver est stocké comme 08:00:00Z à 09:30:00Z dans le .ics. Les heures sont techniquement correctes en UTC, pas dans votre fuseau local.

Les événements récurrents avec exceptions. Un appel hebdomadaire exporte en blocs séparés pour chaque occurrence. Bien. Mais si une séance a été annulée et une autre reprogrammée, cela se traduit par des flags EXDATE ou RECURRENCE-ID. Tous les convertisseurs ne les traitent pas correctement. Résultat : doublons ou sessions manquantes — que vous ne verrez qu’au moment où les totaux ne collent plus.

Les événements sur toute la journée. Les événements “journée entière” de Google Calendar ne stockent pas d’horaires. Le bloc .ics indique DTSTART;VALUE=DATE:20240215 — pas d’heure de début, pas de fin, pas de durée. Si vous utilisez des blocs journée entière pour tracer des journées de travail ou des déplacements, ces heures n’apparaîtront pas dans le tableau croisé. Traitement manuel obligatoire chaque mois.

Pris individuellement, aucun de ces problèmes n’est bloquant. Ensemble, ils font que vous auditez l’export à chaque fois plutôt que de lui faire confiance.

L’approche qui se passe de l’export

Google Calendar génère une URL iCal privée pour chaque agenda — un lien en lecture seule que n’importe quelle application peut souscrire. Ce n’est pas un export statique ; c’est un flux en direct qui se met à jour avec votre calendrier.

Pour la trouver : Paramètres → cliquez sur le nom de votre agenda dans la colonne de gauche → faites défiler jusqu’à “Adresse secrète au format iCal” → copiez l’URL.

Collez cette URL dans Timescanner. Il lit les événements directement, parse les tags clients dans les titres, gère les fuseaux horaires correctement, et génère la feuille de temps automatiquement — heures par client, heures par projet, ratio facturable, revenus à votre taux configuré.

Pas d’export. Pas de convertisseur ICS. Pas de tableau croisé à refaire chaque mois.

Modifiez un événement ou ajoutez une nouvelle session, le prochain rapport en tient compte. Connectez plusieurs agendas si votre travail est réparti entre eux. L’URL est en lecture seule — Timescanner ne voit que les titres et les horaires du lien calendrier fourni.

Si vous ne nommez pas encore vos événements avec des tags clients, le guide de la méthode des crochets couvre le système complet en une seule page. Un tag au début de chaque titre d’événement suffit. Après, la feuille de temps se construit elle-même.

Et si l’objectif est de boucler une période de facturation rapidement, ce que ça ressemble en pratique en fin de mois couvre le reste.


Timescanner fonctionne avec Google Calendar, Outlook, iCloud, Proton Calendar, Notion Calendar, Fastmail, Infomaniak, et tout calendrier compatible iCal.

Timescanner

Votre agenda sait déjà combien de temps vous avez travaillé.

Pas de timer. Pas de nouvelles habitudes. Timescanner lit votre agenda — Google Agenda, Outlook, iCloud et d'autres — et génère vos rapports de facturation automatiquement.

Commencer l'essai gratuit — 30 jours, sans carte bancaire