Bureautique & Productivité

Excel : interroger ChatGPT directement depuis une cellule

11 min de lecture

L’IA comme fonction Excel

Depuis 2024, plusieurs add-ins et techniques permettent d’appeler ChatGPT, Claude ou Gemini directement depuis une cellule Excel. Résultat : enrichissement de données, classification, rédaction, traduction en masse, tout cela sans quitter le tableur.

Option 1 : Copilot natif Microsoft 365

Si vous avez une licence Microsoft 365 Copilot, taper =COPILOT("Prompt") dans une cellule retourne une réponse. Exemple : =COPILOT("Classifie l'avis suivant en positif, neutre ou négatif : " & A2). Coût : 30 euros par utilisateur par mois.

Option 2 : LABS.GENERATIVEAI (Microsoft Labs)

Gratuit, disponible via Microsoft Labs add-in. Syntaxe identique. Limite : 50 appels par jour en version gratuite.

Option 3 : fonction UDF en VBA vers OpenAI

Flexible et économique. Code VBA :

Function AskGPT(prompt As String) As String
 Dim http As Object
 Set http = CreateObject("MSXML2.XMLHTTP")
 http.Open "POST", "https://api.openai.com/v1/chat/completions", False
 http.setRequestHeader "Content-Type", "application/json"
 http.setRequestHeader "Authorization", "Bearer " & Range("CleAPI").Value
 Dim json As String
 json = "{""model"":""gpt-4o-mini"",""messages"":[{""role"":""user"",""content"":""" & Replace(prompt, """", "\""") & """}]}"
 http.send json
 Dim response As String
 response = http.responseText
 AskGPT = ExtraireContent(response)
End Function

Function ExtraireContent(json As String) As String
 Dim regex As Object
 Set regex = CreateObject("VBScript.RegExp")
 regex.Pattern = """content"":""([^""]+)"""
 If regex.Test(json) Then
 ExtraireContent = Replace(regex.Execute(json)(0).SubMatches(0), "\n", " ")
 End If
End Function

Usage dans une cellule : =AskGPT("Traduis en wolof : bonjour, comment allez-vous ?").

Cas pratique 1 : catégoriser 5 000 produits

Colonne A : nom produit. Colonne B : =AskGPT("Catégorise ce produit parmi Electro, Mode, Maison, Beauté, Alimentaire. Réponds uniquement avec le mot : " & A2). En 20 minutes et pour 2 euros d’API, 5 000 produits sont catégorisés.

Cas pratique 2 : rédiger des fiches produit

=AskGPT("Rédige une fiche produit e-commerce en 50 mots pour : " & A2 & ". Mentionne matière : " & B2 & ", origine :, public cible : femmes 25-40 ans.")

Génération de 500 fiches en 30 minutes.

Cas pratique 3 : analyser des avis clients

=AskGPT("Analyse cet avis et renvoie JSON avec sentiment (positif/neutre/négatif), thèmes (séparés par virgules) et suggestion d'amélioration : " & A2)

Puis parsez le JSON avec Power Query pour créer des colonnes structurées.

Cas pratique 4 : traduction de masse

=AskGPT("Traduis en anglais de manière professionnelle : " & A2)

Idéal pour adapter un catalogue de 2 000 références à un marché anglophone.

Optimisation des coûts

  • Utilisez gpt-4o-mini pour les tâches simples : 60 fois moins cher que GPT-4
  • Batch vos appels : réunissez 10 tâches en un seul prompt
  • Cachez les résultats : copier-coller valeurs après calcul pour éviter le recalcul
  • Ajoutez des paramètres temperature = 0 pour la reproductibilité

Sécurité

Ne mettez pas la clé API en dur. Stockez-la dans une cellule nommée sur une feuille masquée protégée par mot de passe. Ou mieux, utilisez Azure Key Vault via VBA.

Alternative : Claude pour la précision francophone

Pour les contenus francophones et africains, Claude (Anthropic) donne souvent de meilleurs résultats. Remplacez l’URL et le modèle dans la fonction UDF par l’API Anthropic.

Conclusion

Transformer Excel en assistant IA ouvre des possibilités inédites. Un comptable enrichit ses bases clients en une après-midi là où un projet IT aurait pris 6 mois. La barrière d’entrée technique est minime, le gain de productivité massif.

Voir aussi

Étape 1 : choisir la bonne méthode pour appeler ChatGPT depuis une cellule

Trois approches existent, chacune avec ses avantages selon votre contexte à Dakar, Abidjan ou Cotonou. La plus simple : Office Scripts couplé à Power Automate, sans code complexe et compatible Excel sur le web et Microsoft 365. La plus puissante : une fonction LAMBDA qui appelle l’API OpenAI via Power Query ou un add-in dédié. La plus pédagogique : un add-in Office (manifest.xml + JavaScript) qui expose une fonction personnalisée GPT(prompt). Choisissez selon votre licence et vos compétences internes.

Avant tout, créez une clé API sur platform.openai.com avec un budget plafonné (50 USD par mois suffit pour des tests intensifs). Stockez-la dans un coffre, jamais dans la feuille. Vous saurez que tout fonctionne quand : la clé n’apparaît dans aucun fichier partagé sur OneDrive ou SharePoint d’équipe.

Étape 2 : préparer le classeur Excel cible

Ouvrez un nouveau classeur. Créez une feuille Données avec une colonne A « Question » et une colonne B « Réponse GPT ». Tapez quelques questions de test : « Résume ce texte en 50 mots », « Traduis ce paragraphe en wolof », « Liste les 5 KPI logistiques pour une PME à Sandaga ». Convertissez la plage en Tableau structuré (Ctrl + L) nommé tblQuestions. Vous pourrez ainsi traiter 10 ou 1000 lignes sans casser les formules.

Le marqueur de succès : votre tableau structuré apparaît dans Formules > Gestionnaire de noms et les formules futures référencent tblQuestions[Question] plutôt que A2:A100.

Étape 3 : approche Office Scripts + Power Automate

Cette voie ne demande aucun add-in et fonctionne sur Excel pour le web. Ouvrez Excel sur le web, onglet Automate, Nouveau script. Collez le code suivant qui lit la question et écrit la réponse.

function main(workbook: ExcelScript.Workbook, question: string): string {
  const ws = workbook.getActiveWorksheet();
  ws.getRange("C1").setValue(question);
  return question;
}

Ce script sert de point d’entrée pour Power Automate. Ouvrez ensuite make.powerautomate.com, créez un flux instantané déclenché par « Pour une ligne sélectionnée Excel », ajoutez une action HTTP vers https://api.openai.com/v1/chat/completions avec votre clé en en-tête Authorization: Bearer xxx, puis une action « Exécuter le script » pour écrire la réponse en colonne B.

Le signal : vous cliquez sur une cellule de la colonne A, le flux s’exécute, et la colonne B se remplit en quelques secondes. Lectures complémentaires sur l’automatisation bureautique, voyez nos tutoriels bureautique.

Étape 4 : approche LAMBDA + Power Query (Excel desktop)

Si vous travaillez sur Excel 365 desktop avec un compte Plateau ou Almadies en accès permanent, Power Query couplé à une LAMBDA donne une fonction réutilisable. Allez dans Données > Obtenir des données > À partir d’une source vide, ouvrez l’éditeur avancé et collez la requête M.

let
  AskGPT = (q as text) =>
    let
      key = "VOTRE_CLE",
      body = Json.FromValue([
        model = "gpt-4o-mini",
        messages = {[role="user", content=q]},
        temperature = 0.2
      ]),
      resp = Web.Contents("https://api.openai.com/v1/chat/completions", [
        Headers = [#"Authorization" = "Bearer " & key, #"Content-Type" = "application/json"],
        Content = body
      ]),
      json = Json.Document(resp)
    in
      json[choices]{0}[message][content]
in
  AskGPT

Sauvegardez la fonction sous le nom AskGPT puis créez une LAMBDA dans Excel : =LAMBDA(q; AskGPT(q)) nommée GPT via le Gestionnaire de noms. Vous pouvez désormais écrire =GPT(A2) dans la colonne B et la formule s’étire à toute la colonne. La sortie attendue : la cellule affiche la réponse complète du modèle. Si vous voyez #ERREUR ou un texte tronqué, vérifiez la clé et la connexion réseau.

Étape 5 : sécuriser la clé et plafonner les coûts

Une clé OpenAI fuitée se monétise en heures. Stockez-la dans Azure Key Vault ou dans le coffre Power Automate, pas en clair dans la requête. Activez sur platform.openai.com un hard limit mensuel (ex : 30 USD) et un soft limit avec alerte e-mail. Surveillez la consommation par modèle.

Pour un usage en équipe à Cotonou, créez plutôt un proxy interne (Azure Function ou Cloudflare Worker) qui ajoute la clé côté serveur. Excel n’envoie alors qu’un token utilisateur sans privilège. Le test concluant : un audit montre que la clé OpenAI réelle n’apparaît dans aucun classeur ni script visible côté utilisateur final.

Étape 6 : industrialiser avec une LAMBDA enrichie

Pour des cas concrets (résumer un compte rendu, classer un avis client wolof-français, extraire un SIREN), enrichissez la LAMBDA avec un système prompt et un cache.

=LAMBDA(prompt; texte;
  GPT("Tu es un assistant pour une PME ouest-africaine. " &
      "Réponds en français clair, sans introduction. " &
      "Tâche : " & prompt & CHAR(10) &
      "Texte : " & texte))

Nommez cette fonction ASK. Vous écrivez ensuite =ASK(« Résume en 30 mots »; A2). Le signal : la formule devient lisible en revue de classeur, même par une collègue qui ne connaît pas l’API. Pour un usage avancé, ajoutez un tableau de cache (clé = hash du prompt, valeur = réponse) afin d’éviter de payer deux fois la même question.

Étape 7 : tester sur cas réels et mesurer la qualité

Construisez un mini benchmark : 30 questions métier représentatives (devis client, classement produit, extraction de date à partir d’un texte en français). Lancez la formule, faites relire les réponses par une personne du métier basée à Yopougon ou Plateau, notez sur 3 (correct, partiel, faux). Comparez gpt-4o-mini, gpt-4o et gpt-4.1 pour trouver le meilleur ratio coût/qualité sur votre cas.

Validation pratique : vous obtenez plus de 85 % de réponses correctes sur le benchmark, et le coût moyen par appel reste sous 0,002 USD avec gpt-4o-mini. Vous pouvez alors généraliser l’usage à d’autres classeurs métier.

Étape 8 : déployer auprès des équipes et former

Documentez le classeur modèle dans un PDF court : où trouver la clé interne, comment écrire =GPT(…) ou =ASK(…), les usages interdits (données personnelles non anonymisées, secrets clients). Organisez une session de 45 minutes en visio avec les équipes Dakar-Bamako-Lomé. Donnez trois cas d’usage déjà testés : résumé de réunion, traduction express, classement de tickets support.

Le signal final : trois semaines après le déploiement, vous mesurez un gain moyen de 4 heures par semaine et par utilisateur sur les tâches de rédaction et de classification. Voyez aussi nos tutoriels du blog pour étendre le pattern à Word et PowerPoint.

Étape 9 : maîtriser la latence et les erreurs API

Une formule qui se bloque ralentit tout le classeur. Ajoutez un timeout côté Power Query (Web.Contents avec Timeout=#duration(0,0,0,15)) et un fallback texte si l’API ne répond pas. Pour un usage massif (plus de 100 cellules), batchez les appels via Power Automate plutôt que des appels cellule par cellule, et stockez le résultat. Limitez aussi la longueur des prompts à 2000 tokens en entrée pour rester sous les quotas.

Si vous voyez des erreurs 429 (rate limit), espacez les appels avec une pause aléatoire de 200 à 800 ms ou achetez un tier supérieur. Vous saurez que tout fonctionne quand : sur un fichier de 500 lignes, le traitement complet tient en moins de 5 minutes sans erreur, et la facture mensuelle reste prévisible.

Étape 10 : auditer la qualité dans le temps

Les modèles évoluent. Une formule fiable en mars peut dériver en septembre suite à une mise à jour. Programmez un audit mensuel : relancez votre benchmark de 30 questions, comparez le score, et basculez de modèle si la qualité chute. Tenez un journal de versions dans une feuille Audit (date, modèle, score, coût). Ajoutez un garde-fou côté ASK : refusez les prompts contenant des numéros de pièce d’identité, des numéros Mixx by Yas ou des données médicales.

Le signal final : votre tableau de bord Audit affiche en un coup d’œil l’évolution de la qualité, du coût et de la latence sur 6 mois. Vous pouvez ainsi présenter à votre direction à Plateau ou Sicap Liberté un retour sur investissement chiffré et défendre l’extension du pattern à d’autres classeurs métier.

Annexe : trois cas d’usage qui paient l’investissement

Premier cas : nettoyage de fichiers fournisseurs. =ASK(« Normalise ce nom d’entreprise en majuscules sans accents, sans SARL ni SA »; A2) homogénéise une base prospects en quelques minutes. Deuxième cas : extraction d’informations à partir de devis PDF copiés en colonne A. =ASK(« Renvoie uniquement la date au format AAAA-MM-JJ »; A2) gagne plusieurs heures de saisie chaque semaine pour une équipe à Sicap Liberté. Troisième cas : classement d’avis clients en Positif, Neutre, Négatif pour un suivi qualité à Sandaga.

Dans chacun, le ROI dépasse souvent les 50 USD de quota mensuel dès la première semaine. Le signal final : votre direction commerciale demande à étendre la formule à d’autres équipes, et vous gardez la maîtrise via le proxy interne et le journal d’audit.

Récapitulatif : 5 règles à imprimer pour l’équipe

Une, jamais de clé OpenAI dans le classeur partagé. Deux, toujours un Tableau structuré pour propager les formules sans casse. Trois, un système prompt dans la LAMBDA pour cadrer le ton et la langue. Quatre, un benchmark de 30 questions relancé chaque mois pour détecter la dérive. Cinq, un journal d’audit visible par la direction avec coût, latence et qualité. Avec ces cinq règles, vos classeurs ChatGPT restent fiables sur 12 mois et vos équipes à Almadies, Yopougon ou Lomé gardent confiance dans l’outil.

Partager