Transformer un Google Sheets en PDF avec Google Apps Script

Google Sheets en pdf avec Apps Script

Créer un fichier PDF à partir d’un Google Sheets est une tâche que vous pouvez automatiser rapidement grâce à Google Apps Script. Ce guide vous explique comment convertir vos feuilles de calcul en PDF efficacement, avec un exemple concret et des étapes détaillées.


Pourquoi convertir un Google Sheets en PDF ?

Les fichiers PDF sont idéaux pour partager des données, car ils sont lisibles sur tous les appareils et protégés contre les modifications accidentelles. Si vous avez un tableau de bord ou un rapport dans Google Sheets à partager, un PDF préserve la mise en page et garantit une présentation professionnelle.


Étape 1 : Configuration de Google Apps Script

Pour démarrer, ouvrez votre fichier Google Sheets et accédez à Extensions > Apps Script.

Accès à Google Apps Script depuis Sheets
  1. Donnez un nom à votre projet (par exemple, « Export PDF »)
  2. Remplacez le contenu par défaut par le script suivant :
  1. Enregistrez votre script et accordez les autorisations nécessaires.

Étape 2 : Comprendre le script

1. Récupération de la feuille Sheets active

La fonction SpreadsheetApp.getActiveSpreadsheet() permet d’accéder au fichier Google Sheets actuellement ouvert. Cela garantit que le script opère toujours sur la feuille active.

2. Paramètres de l’URL

Le lien utilisé dans le script contient plusieurs paramètres pour configurer le rendu du PDF :

  • format=pdf : Spécifie que le fichier exporté sera au format PDF.
  • size=A4 : Définit la taille du papier (A4 dans cet exemple).
  • portrait=true : Oriente le PDF en mode portrait.
  • sheetnames=false : Masque les noms des feuilles dans le PDF.
  • gridlines=false : Supprime les lignes de grille pour un rendu plus propre.

Vous pouvez ajuster ces paramètres selon vos besoins, comme changer la taille du papier ou activer les lignes de grille.

3. Gestion du dossier Drive

Le script utilise la fonction DriveApp.getFolderById("<ID_DU_DOSSIER>") pour sauvegarder le fichier dans un dossier spécifique de Google Drive. Remplacez <ID_DU_DOSSIER> par l’ID de votre dossier Drive cible. Pour trouver cet ID :

  1. Ouvrez le dossier Drive souhaité.
  2. Copiez l’ID dans l’URL (texte après /folders/).

4. Authentification et création du fichier PDF

  • ScriptApp.getOAuthToken() génère un jeton d’authentification pour accéder à vos fichiers.
  • UrlFetchApp.fetch(url, {...}) télécharge le fichier PDF à partir de l’URL spécifiée. Pour en savoir plus sur UrlFethApp, voici le lien vers la documentation : https://developers.google.com/apps-script/reference/url-fetch/url-fetch-app
  • pdfBlob.setName(pdfName) nomme le fichier PDF avant de l’ajouter au dossier Drive via pdfFolder.createFile(pdfBlob).

5. Menu personnalisé Apps Script

La fonction onOpen() crée un menu nommé Export PDF dans Google Sheets. Ce menu contient une option intitulée Exporter la feuille en PDF, qui exécute la fonction exportToPDF lorsqu’elle est sélectionnée.

Menu personnalisé Apps Script
Menu personnalisé Apps Script

Étape 3 : Tester le script

  1. Rechargez votre Google Sheets pour voir le menu Export PDF apparaître.
  2. Cliquez sur Export PDF > Exporter la feuille en PDF.
  3. Accédez à votre dossier Google Drive pour vérifier le PDF exporté.

Exemple pratique : Rapport mensuel

Supposons que vous gériez un rapport mensuel pour votre équipe. Voici comment le script fonctionne :

  1. Vous avez un fichier Google Sheets nommé « Budget mensuel ».
  2. Lancez le script via le menu Export PDF pour générer automatiquement un PDF intitulé « Export_Budget_Mensuel.pdf ».
  3. Le PDF est sauvegardé dans un dossier Google Drive prédéfini, prêt à être partagé.
Pdf extrait dans le Drive
Pdf extrait dans le Drive

Conclusion

Transformer un Google Sheets en PDF avec Google Apps Script est une solution simple et efficace pour améliorer votre productivité. Que ce soit pour partager des rapports ou archiver des documents, ce script peut être personnalisé selon vos besoins. N’hésitez pas à l’adapter et à expérimenter pour créer des automatisations sur mesure.

Si cet article vous a été utile, partagez le ou laissez un commentaire. Bonne automatisation !


Retrouvez nous sur les réseaux sociaux :

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *