Vous en avez assez des extensions Google Sheets qui promettent de connecter ChatGPT et qui partent avec vos données ? Moi aussi. Voici comment connecter ChatGPT à Google Sheets sans extension : un script Apps Script, une clé API OpenAI, et rien d’autre. Aucun add-on, aucune installation. Juste votre tableur, l’application Google Sheets et l’API OpenAI. Vous allez créer une fonction personnalisée, l’utiliser dans vos cellules comme une formule classique, et automatiser des tâches répétitives sans quitter votre feuille de calcul.
Pourquoi j’ai abandonné les extensions Google Sheets pour ChatGPT
Ce que les add-ons ne vous disent pas sur vos données
Les extensions comme GPT for Sheets sont pratiques. Mais elles passent souvent par des serveurs intermédiaires. Vos données de feuille de calcul peuvent y transiter. Dans ma pratique, je préfère garder le contrôle. Avec Google Apps Script, la requête part directement de votre tableur vers l’API OpenAI. Pas de tiers.
Ce que Google Apps Script change concrètement
Google Apps Script est le langage de script de Google Workspace. Il permet d’appeler des API externes, de manipuler les cellules, et de créer des fonctions personnalisées. Vous connaissez déjà les formules natives ? Cette méthode les prolonge. Vous créez une fonction =GPT() qui agit comme une formule classique, mais avec le cerveau d’OpenAI en plus. C’est une intégration légère, pensée directement dans l’outil que vous utilisez déjà.
Ce qu’il vous faut avant de commencer
Créer une clé API OpenAI
Rendez-vous sur la plateforme OpenAI. Créez un compte, puis générez une clé API. Cette clé est votre mot de passe. Ne la partagez jamais. Dans mon script, je la stocke dans les propriétés de Google Apps Script, pas dans une cellule.
Comprendre la facturation de l’API OpenAI
L’API OpenAI n’est pas gratuite. Mais elle est facturée à l’usage. Le prix dépend du modèle utilisé. Les modèles GPT-4o et GPT-4 Turbo n’ont pas le même tarif par token. Pour une requête courte, comptez quelques centimes, voire moins. Faites le calcul sur un volume mensuel réaliste. C’est souvent moins cher qu’un abonnement ChatGPT Plus. Et vous ne payez que ce que vous consommez.
La méthode sans extension : Google Apps Script + API OpenAI
Écrire le script : appeler l’API OpenAI avec UrlFetchApp
Ouvrez votre feuille de calcul. Allez dans Extensions > Apps Script. Collez un script qui utilise UrlFetchApp pour appeler https://api.openai.com/v1/chat/completions. Le script envoie votre prompt, reçoit la réponse, et la renvoie dans la cellule. C’est l’étape clé. Je vous conseille de partir d’un exemple simple, de le tester, puis de l’adapter.
- function GPT(prompt) {
- var apiKey = PropertiesService.getScriptProperties().getProperty(‘OPENAI_API_KEY’);
- var url = ‘https://api.openai.com/v1/chat/completions’;
- var payload = {
- model: ‘gpt-4o-mini’,
- messages: [{ role: ‘user’, content: prompt }]
- };
- var options = {
- method: ‘POST’,
- headers: { ‘Authorization’: ‘Bearer ‘ + apiKey },
- contentType: ‘application/json’,
- payload: JSON.stringify(payload)
- };
- var response = UrlFetchApp.fetch(url, options);
- return JSON.parse(response).choices[0].message.content;
- }
Définir une fonction personnalisée =GPT() dans les cellules
Une fois le script déployé, utilisez =GPT(« Résume cette colonne ») directement dans une cellule. La fonction accepte des références de plages. Par exemple, =GPT(A2:A10). Le script convertit la plage en texte, l’envoie à l’API OpenAI, puis retourne le résultat. Aucune extension n’est nécessaire.
Gérer les erreurs et sécuriser votre clé API
Prévoyez une gestion des erreurs. Si l’API renvoie une erreur, la cellule doit afficher un message clair. Surveillez aussi le nombre de tokens. Une réponse trop longue peut être tronquée. L’API a une limite de temps ; si votre requête dépasse, le script renvoie une erreur. Dans mon script, je limite le maxTokens à 500 par défaut. Pour la clé API, utilisez PropertiesService. Ne la mettez jamais en dur dans le script. Cette précaution évite qu’elle fuie si vous partagez le projet.
Cas d’usage concrets dans Google Sheets
Générer des descriptions de produits en masse
Vous avez 200 lignes avec un nom de produit, une matière, un prix. La fonction =GPT() génère une description commerciale pour chaque ligne. Il suffit d’écrire un prompt avec ces informations. J’ai fait ça pour un client e-commerce. Le gain de temps est énorme.
Traduire ou reformuler des colonnes entières
Une autre tâche classique : traduire une colonne de commentaires. Ou reformuler des textes pour les adapter à un ton plus professionnel. L’API OpenAI est très douée pour ça. La fonction recopie la plage, applique le prompt, et renvoie le nouveau texte.
Créer un résumé de commentaires clients
L’analyse de verbatims est chronophage. Avec ma méthode, je colle les commentaires dans une colonne, puis =GPT(« Résume les points clés », A2:A50). Le script envoie le tout à l’API OpenAI et me renvoie une synthèse structurée. C’est bluffant.
Alternatives sans extension : Zapier et GPT personnalisé
Connecter ChatGPT à Sheets via Zapier
Si vous ne voulez pas toucher au code, il y a Zapier et d’autres alternatives gratuites. On crée un GPT personnalisé sur le compte payant ChatGPT, on importe la configuration OpenAPI de Zapier, puis on définit des actions. Cette méthode reste sans extension dans Sheets, mais elle passe par un outil tiers. Et elle coûte plus cher.
| Méthode | Avantages | Inconvénients |
|---|---|---|
| Apps Script | Gratuit dans le quota Google, direct, léger | Quota d’exécution, demande un peu de code |
| Zapier + GPT | Automatisation plus riche, pas de code | Coût par tâche, intermédiaire, latence |
Quand choisir Apps Script plutôt que Zapier
Mon conseil : Apps Script pour les traitements directs dans les cellules, sur des volumes raisonnables. Zapier pour des automatisations complexes, comme déclencher une action quand une ligne est ajoutée. Mais Zapier ajoute un intermédiaire. La latence est plus élevée, et la facturation est par tâche.
Les limites que je connais pour l’avoir testée
Volume de données, confidentialité, et l’add-in officiel d’OpenAI
Cette méthode a des limites. Le volume de données ne doit pas être énorme. Google Apps Script a un quota de temps d’exécution. Si vous envoyez 10 000 lignes, ça plante. La confidentialité est un autre point : les données sont envoyées à OpenAI. Ne mettez jamais de données sensibles dans le prompt. Enfin, OpenAI propose désormais un add-in officiel pour Google Sheets. Il est gratuit et puissant. Mais c’est une extension. Si vous voulez vraiment éviter toute extension, la méthode Apps Script reste la plus propre.
