J’ai longtemps recommandé des extensions Google Sheets pour intégrer ChatGPT. Puis j’ai audité leurs permissions. Résultat : elles demandent un accès total à vos feuilles, parfois à votre Drive. Pour des données clients, des coûts, des marges, c’est rédhibitoire. Voici comment connecter ChatGPT à Google Sheets sans extension, directement dans vos cellules.
Pourquoi j’ai arrêté de recommander les extensions ChatGPT pour Google Sheets
Le problème n’est pas la fonctionnalité. Les extensions type GPT Workspace ou SheetGPT marchent. Le problème est la confidentialité. Vous envoyez vos données sur des serveurs tiers que personne n’a audités. En tant que consultant, je ne peux pas valider ce risque chez un client.
Une extension tierce peut lire toutes vos feuilles de calcul. Elle peut exporter des données comptables ou des fiches de paie. Même avec de bonnes intentions, c’est une faille potentielle. La solution native existe depuis longtemps : Google Apps Script. C’est gratuit, intégré, et vous gardez la main sur les données.
La méthode sans extension : Google Apps Script + API OpenAI
Google Apps Script est l’environnement de code intégré à Google Workspace. Il permet de créer des fonctions personnalisées qui s’utilisent comme des formules natives. OpenAI fournit une clé API pour appeler leurs modèles. L’idée : créer une fonction GPT() dans Apps Script, puis l’appeler directement dans une cellule.
Créer votre projet Apps Script depuis Extensions > Apps Script
Dans votre feuille de calcul, ouvrez le menu Extensions, puis cliquez sur Apps Script. Vous arrivez sur un éditeur vide. Renommez le projet, collez votre fonction, puis cliquez sur Enregistrer. À partir de ce moment, la fonction personnalisée est disponible dans toutes les cellules du classeur.
Obtenir votre clé API OpenAI sur platform.openai.com
Créez un compte sur platform.openai.com, générez une clé API dans la section API keys. Cette clé sert à authentifier vos requêtes. Ne la partagez jamais dans une cellule ou dans un script visible par vos collègues. Je la stocke toujours dans le gestionnaire de propriétés d’Apps Script, via la fonction PropertiesService. Ainsi, elle n’apparaît pas dans votre fichier.
Le script complet que j’utilise pour mes propres tableaux
Voici la fonction que je déploie chez mes clients. Elle est courte, mais elle gère les références de cellules. Quand vous écrivez =GPT(« résume ceci », A2:B10), le script transforme la plage en texte avant de l’envoyer à l’API.
function GPT(prompt, plage) { var texte = plage.map(function(ligne) { return ligne.join( » | « ); }).join(« \\n »); return openaiComplete(prompt + « \\n » + texte); }
function openaiComplete(prompt) { var cle = PropertiesService.getScriptProperties().getProperty(« OPENAI_API_KEY »); var url = « https://api.openai.com/v1/completions »; var reponse = UrlFetchApp.fetch(url, { method: « post », headers: { « Authorization »: « Bearer » + cle }, payload: JSON.stringify({ model: « gpt-3.5-turbo-instruct », prompt: prompt, max_tokens: 450 }) }); return JSON.parse(reponse).choices[0].text; }
Ce script utilise UrlFetchApp, une classe d’Apps Script. Il vous faut aussi définir la propriété OPENAI_API_KEY dans l’éditeur, via le menu Paramètres. L’annotation @customfunction peut être ajoutée pour l’autocomplétion, mais ce n’est pas indispensable.
Utiliser ChatGPT dans vos cellules sans rien toucher d’autre
Une fois le script en place, vous l’utilisez comme une formule. Tapez simplement =GPT(« texte », plage). La première valeur est l’instruction, la seconde est une plage de cellules. Le script convertit les valeurs en texte et appelle l’API. Le résultat s’affiche dans la cellule.
Générer un résumé automatique d’une colonne de commentaires clients
Imaginez une colonne avec des centaines de commentaires. Vous voulez un résumé global. La formule =GPT(« résume ces commentaires », B2:B100) renvoie un paragraphe de synthèse. C’est parfait pour votre compte rendu ou votre analyse de satisfaction. Pour aller plus loin, découvrez comment créer un agent IA personnalisé pour répondre aux avis clients. Sans extension, sans export CSV.
Classer des données texte dans un onglet avec une simple formule
Vous recevez des factures avec des libellés incomplets. Si ces factures sont au format PDF, découvrez comment extraire leurs données vers Excel avec l’IA. Vous voulez les classer par catégorie : transport, logiciel, fourniture. Utilisez =GPT(« classifie ce libellé en une seule catégorie », A2). La catégorie apparaît dans la cellule. Vous pouvez ensuite faire un tableau croisé dynamique pour vos analyses.
Les erreurs que je vois tous les jours sur le terrain
La première erreur est de vouloir traiter des milliers de cellules d’un coup. Apps Script a un quota de 20 000 tokens par minute pour les appels simples. Les requêtes trop longues déclenchent une erreur 429. Réduisez votre plage ou découpez votre tâche en plusieurs étapes.
La seconde erreur est le timeout. Apps Script limite chaque exécution à 30 secondes. Si votre prompt court est trop long ou trop complexe, l’API met plus de temps. Limitez le paramètre max_tokens à 450 pour rester sous la limite. J’ai déjà configuré des volumes plus importants avec un script de file d’attente, mais ce n’est pas la méthode de base.
La troisième erreur est la clé API visible. Je vois encore des scripts où la clé est en dur dans le code. Si votre feuille est partagée, cette clé est compromise. Utilisez toujours le gestionnaire de propriétés pour la clé, comme indiqué plus haut.
Quand ne pas utiliser cette méthode
Cette technique convient pour un usage modéré : quelques dizaines d’appels par jour, des analyses ponctuelles, des résumés de plages limitées. Si vous devez traiter des milliers de lignes chaque nuit, le calcul risque de coûter plus cher en temps qu’en argent. Dans ce cas, préférez une automatisation via Zapier ou un script programmé.
Si vous acceptez l’idée d’une extension, l’add-on officiel OpenAI existe désormais pour Google Workspace. Il est pratique pour les utilisateurs non techniques. Mais il reste une extension, avec toutes les questions de permissions que cela implique. L’API directe vous offre plus de contrôle, une fois la mise en place validée.
Pour finir : testez sur une plage de 20 lignes, contrôlez le coût dans votre dashboard OpenAI, puis automatisez sereinement. Cette méthode sans extension reste la plus propre pour intégrer l’IA dans votre feuille de calcul. Votre comptable, votre équipe et vos clients ne verront aucune différence. À part vous, qui gagnerez plusieurs heures par semaine.
