Comment automatiser l’exportation de Google Sheets en PDF avec Google Apps Script ?


Google Sheets est un outil puissant et polyvalent pour la gestion, l’analyse, et la visualisation des données. Cependant, il peut parfois manquer de fonctionnalités avancées pour automatiser certaines tâches répétitives, comme l’exportation de données en PDF. Dans cet article, je vais vous montrer comment utiliser Google Apps Script pour automatiser l’exportation de vos feuilles de calcul Google Sheets en fichiers PDF, un processus qui peut vous faire gagner un temps précieux.

Pourquoi automatiser l’exportation en PDF avec Google Apps Script ?

L’exportation de Google Sheets en PDF est une fonctionnalité essentielle pour partager des données sous un format universellement lisible, tout en préservant la mise en page et le formatage. Que ce soit pour des rapports, des présentations ou des documents officiels, l’automatisation de cette tâche peut vous permettre de :

  • Gagner du temps : Plus besoin de répéter manuellement les mêmes actions à chaque mise à jour de votre fichier.
  • Minimiser les erreurs : L’automatisation garantit que vos fichiers sont exportés de manière cohérente à chaque fois.
  • Optimiser les flux de travail : Intégrer cette automatisation dans vos processus vous permet de vous concentrer sur des tâches à plus forte valeur ajoutée.

Fonctionnalités du script d’exportation PDF

Le script Google Apps Script que j’ai développé offre une grande flexibilité pour l’exportation de vos Google Sheets en PDF. Voici ce qu’il permet de faire :

  • Exporter toutes les feuilles en un seul fichier PDF : Parfait pour les rapports complets.
  • Exporter chaque feuille en un fichier PDF distinct : Idéal pour les documents qui nécessitent une distribution séparée.
  • Exporter uniquement la feuille de calcul active : Pratique pour des analyses ou des rapports spécifiques.
  • Exporter une zone sélectionnée ou prédéfinie : Utile pour les sections particulières de données.
  • Gérer et exporter des zones nommées : Simplifie l’exportation de zones spécifiques prédéfinies, comme des sections critiques de votre document.

Le code : Automatiser l’exportation PDF

Ci-dessous, vous trouverez un extrait du code Google Apps Script. Ce code est écrit en utilisant les dernières fonctionnalités ES6 pour garantir efficacité et lisibilité. Vous pouvez facilement l’intégrer dans votre Google Sheets et commencer à automatiser l’exportation de vos documents en PDF.

// Script Google Apps Script pour l'exportation de feuilles de calcul en PDF.
// Auteur : Fabrice Faucheux

const enregistrerDansDossierRacine = true;

const onOpen = () => {
  SpreadsheetApp.getUi()
    .createAddonMenu()
    .addItem('Exporter toutes les feuilles', 'exporterEnPDF')
    .addItem('Exporter toutes les feuilles en fichiers séparés', 'exporterToutesLesFeuillesEnPDFsSepares')
    .addItem('Exporter la feuille actuelle', 'exporterFeuilleActuelleEnPDF')
    .addItem('Exporter la zone sélectionnée', 'exporterZoneSelectionneeEnPDF')
    .addItem('Exporter la zone prédéfinie', 'exporterZonesNommesEnPDF')
    .addToUi();
};

const _exporterBlob = (blob, nomFichier, tableur) => {
  blob = blob.setName(nomFichier);
  const dossier = enregistrerDansDossierRacine ? DriveApp : DriveApp.getFileById(tableur.getId()).getParents().next();
  const fichierPDF = dossier.createFile(blob);
  
  const sortieHtml = HtmlService
    .createHtmlOutput(`<p>Cliquez pour ouvrir <a href="${fichierPDF.getUrl()}" target="_blank">${nomFichier}</a></p>`)
    .setWidth(300)
    .setHeight(80);
  SpreadsheetApp.getUi().showModalDialog(sortieHtml, 'Exportation réussie');
};

const exporterEnPDF = () => {
  const tableur = SpreadsheetApp.getActiveSpreadsheet();
  const blob = _obtenirBlob(tableur.getUrl());
  _exporterBlob(blob, tableur.getName(), tableur);
};

// Autres fonctions...

Etapes pour implémenter le script dans Google Sheets

  • 1. Accéder à Google Apps Script : Ouvrez votre fichier Google Sheets, puis cliquez sur Extensions > Apps Script pour accéder à l’éditeur de script.
  • 2. Coller le Script : Copiez le code fourni ci-dessus et collez-le dans l’éditeur de script.
  • 3. Enregistrer et Exécuter : Enregistrez le script et retournez dans votre Google Sheets. Vous verrez maintenant un nouveau menu personnalisé pour l’exportation en PDF.

Comment utiliser le menu personnalisé dans Google Sheets ?

Une fois le script implémenté et exécuté, un nouveau menu intitulé “Impression en PDF” apparaîtra dans la barre de menus de votre Google Sheets. Voici comment utiliser les options disponibles dans ce menu :

  • Exporter toutes les feuilles : Sélectionnez cette option pour exporter l’intégralité de votre Google Sheets, avec toutes ses feuilles, dans un seul fichier PDF. Cela est particulièrement utile pour les rapports complets ou les documents que vous souhaitez partager dans leur ensemble.
  • Exporter toutes les feuilles en fichiers séparés : Cette option permet de créer un fichier PDF distinct pour chaque feuille de votre Google Sheets. C’est idéal si vous avez besoin de partager ou d’envoyer chaque feuille séparément à différentes personnes.
  • Exporter la feuille actuelle : Cette fonction exporte uniquement la feuille actuellement active dans votre Google Sheets en PDF. Utilisez-la lorsque vous travaillez sur une feuille spécifique et que vous avez besoin d’un export rapide.
  • Exporter la zone sélectionnée : Si vous avez une plage de cellules spécifique sélectionnée dans votre feuille actuelle, cette option vous permet de n’exporter que cette zone en PDF. C’est parfait pour isoler et partager des sections spécifiques de vos données.
  • Exporter la zone prédéfinie : Cette option est conçue pour exporter des zones que vous avez déjà nommées et définies dans votre Google Sheets. Par exemple, si vous avez des sections critiques nommées comme “zone_impression_1”, cette fonction simplifie leur exportation.

Pour résumer

L’automatisation est la clé pour rationaliser les tâches répétitives et maximiser votre productivité. En utilisant ce script Google Apps Script, vous pouvez facilement exporter vos Google Sheets en PDF, de manière flexible et sans effort. Que vous soyez un professionnel en quête d’efficacité ou simplement quelqu’un cherchant à simplifier ses processus, ce script est un excellent point de départ.

N’hésitez pas à me faire part de vos retours ou de vos suggestions d’amélioration. Je suis toujours à l’écoute pour aider à adapter ce script à vos besoins spécifiques. Bonne automatisation !