Vous avez un tableau de commentaires clients à résumer, des courriels à reformuler ou des descriptions de produits à rédiger ? Plutôt que de copier chaque cellule dans ChatGPT, puis de recopier la réponse dans Excel, vous pouvez automatiser une partie du travail. Le principe : envoyer le contenu d’une cellule à l’intelligence artificielle et récupérer sa réponse directement dans votre classeur.

Plusieurs méthodes existent, de la formule prête à l’emploi au code VBA. Voici comment choisir la bonne approche, avec un exemple concret pour démarrer.

Ce qu’Excel peut faire avec ChatGPT

Connecté à l’interface de programmation d’OpenAI, Excel peut transmettre un texte à un modèle d’intelligence artificielle et recevoir une réponse. Vous pouvez ainsi traiter une liste de demandes sans quitter votre classeur.

Quelques idées d’utilisation :

  • Résumer des avis clients dans une colonne.
  • Classer des demandes selon leur thème : facturation, livraison ou assistance.
  • Reformuler des textes dans un ton plus professionnel.
  • Traduire des descriptions de produits.
  • Générer une première version de réponses à des courriels.
  • Un point à garder en tête : ChatGPT ne devine pas ce que vous attendez. La qualité du résultat dépend de votre consigne, du contenu fourni et des vérifications que vous effectuez ensuite. Pour les données importantes, gardez toujours un œil humain dans la boucle.

    Avant de commencer : compte ChatGPT et accès à l’interface de programmation

    Utiliser ChatGPT dans le navigateur et appeler les modèles depuis Excel sont deux choses différentes. Pour automatiser des requêtes depuis un classeur, vous avez besoin d’un accès à l’interface de programmation d’OpenAI et d’une clé secrète. Les frais liés à cet usage sont séparés de l’abonnement éventuel à ChatGPT : vérifiez les tarifs et les limites en vigueur avant de lancer un traitement volumineux.

    La clé secrète sert à authentifier vos demandes. Ne la publiez jamais dans un classeur partagé, un courriel ou un espace accessible à des personnes non autorisées. Une macro contenant cette clé peut être consultée par quelqu’un qui a accès au code du classeur. Pour un usage professionnel ou partagé, préférez un service intermédiaire sécurisé qui protège la clé.

    Enfin, évitez d’envoyer des données personnelles, confidentielles ou sensibles sans avoir vérifié les règles applicables dans votre organisation. Automatiser ne signifie pas transmettre n’importe quelle information.

    La solution sans code : un complément ou un outil d’automatisation

    Si vous ne souhaitez pas toucher à VBA, commencez par chercher un complément Excel fiable qui relie les cellules à un modèle d’intelligence artificielle. Certains proposent des fonctions personnalisées : vous indiquez une consigne et une cellule, puis la réponse s’affiche dans une autre cellule.

    Vous pouvez aussi passer par un outil d’automatisation, comme Power Automate, pour déclencher un traitement lorsqu’une ligne est ajoutée ou modifiée. Par exemple, une nouvelle demande enregistrée dans un tableau peut être envoyée au modèle, puis recevoir une catégorie ou un résumé.

    Avant d’installer un complément, vérifiez son éditeur, ses autorisations, son prix et la manière dont il traite vos données. Testez-le d’abord sur quelques lignes fictives. La solution la plus rapide n’est pas forcément la plus adaptée si votre classeur contient des informations sensibles.

    Automatiser avec VBA : le principe

    Avec VBA, une macro peut lire le contenu d’une cellule, envoyer une requête au service d’OpenAI et écrire le résultat dans une autre cellule. Pour cet exemple, imaginons des avis clients en colonne A et un résumé à produire en colonne B.

    La macro doit réaliser quatre étapes :

  • Lire l’avis dans la cellule A2.
  • Créer une consigne et préparer une demande au format JSON.
  • Envoyer cette demande par internet avec la clé secrète.
  • Récupérer la réponse et l’écrire dans la cellule B2.
  • Pour lire facilement le JSON renvoyé par le service, vous pouvez ajouter à votre projet VBA une bibliothèque d’analyse JSON reconnue, par exemple VBA-JSON. Téléchargez-la depuis sa source officielle, ajoutez le module JsonConverter au projet, puis activez la référence nécessaire si votre installation le demande. La structure exacte de la réponse peut évoluer : consultez la documentation de l’interface avant de déployer une macro durable.

    Exemple de macro pour résumer un avis

    Le code ci-dessous montre le fonctionnement général avec le service de conversation d’OpenAI. Remplacez la valeur indiquée par votre propre clé. La fonction JsonEscape, fournie ensuite, protège le texte de la cellule afin qu’il puisse être inséré dans une demande JSON.

    Sub ResumerAvis()    Dim requete As Object    Dim corps As String    Dim reponse As Object    Dim avis As String    Dim cle As String    avis = Range("A2").Value    cle = "VOTRE_CLE_SECRETE"    Set requete = CreateObject("WinHttp.WinHttpRequest.5.1")    corps = "{""model"":""gpt-4o-mini""," & _            """messages"":[{""role"":""user""," & _            """content"":""Résume cet avis en une phrase : " & _            JsonEscape(avis) & """}]}"    requete.Open "POST", _        "https://api.openai.com/v1/chat/completions", False    requete.SetRequestHeader "Content-Type", "application/json"    requete.SetRequestHeader "Authorization", "Bearer " & cle    requete.Send corps    If requete.Status = 200 Then        Set reponse = JsonConverter.ParseJson(requete.ResponseText)        Range("B2").Value = _            reponse("choices")(1)("message")("content")    Else        Range("B2").Value = "Erreur " & requete.Status    End IfEnd SubFunction JsonEscape(ByVal texte As String) As String    texte = Replace(texte, "\", "\\")    texte = Replace(texte, """", "\""")    texte = Replace(texte, vbCrLf, "\n")    texte = Replace(texte, vbCr, "\n")    texte = Replace(texte, vbLf, "\n")    JsonEscape = texteEnd Function

    Ce code est un point de départ, pas une solution prête à distribuer. Il traite une seule cellule et affiche un message simple en cas d’erreur. Dans un classeur de production, ajoutez une gestion des délais d’attente, des erreurs de connexion, des limites de requêtes et des réponses vides. Pensez aussi à désactiver l’envoi lorsque la cellule source est vide.

    Pour traiter plusieurs lignes, vous pouvez parcourir une plage avec une boucle, puis écrire chaque résultat dans la colonne B correspondante. Faites d’abord un essai sur trois ou quatre avis : une boucle trop rapide peut multiplier les demandes, les coûts et les erreurs aussi efficacement qu’elle multiplie les réponses.

    Rédiger une consigne qui donne de bons résultats

    « Résume cet avis » fonctionne, mais reste assez vague. Pour obtenir des réponses plus régulières, précisez le rôle attendu, la tâche et le format de sortie. Par exemple :

    Tu aides une équipe de service client.Résume l’avis en une phrase de moins de 25 mots.Ne propose pas de solution et n’ajoute aucune information absente du texte.Avis : [texte de la cellule]

    Vous pouvez remplacer le résumé par une classification : « Classe cet avis dans une seule catégorie parmi Livraison, Produit, Facturation ou Autre. Réponds uniquement par le nom de la catégorie. » Une réponse courte et normalisée est beaucoup plus simple à exploiter dans un tableau qu’un paragraphe différent à chaque ligne.

    Pour limiter les variations, demandez un format précis et vérifiez les résultats avant de les utiliser. Un modèle peut mal interpréter une phrase ironique ou attribuer une catégorie discutable. L’automatisation accélère le premier tri ; elle ne transforme pas une estimation en vérité garantie.

    Les erreurs courantes à éviter

  • Confondre abonnement et utilisation de l’interface de programmation. L’accès dans le navigateur ne signifie pas automatiquement que les requêtes depuis Excel sont incluses.

  • Oublier les frais et les limites. Testez avec un petit nombre de lignes et surveillez votre consommation.

  • Partager la clé secrète. Une clé intégrée au code VBA est difficile à protéger dans un classeur distribué.

  • Envoyer toutes les colonnes sans réfléchir. Ne transmettez que les informations nécessaires au traitement.

  • Faire confiance aveuglément au résultat. Prévoyez une vérification, surtout pour les réponses destinées à des clients ou utilisées dans une décision importante.

  • Quelle méthode choisir ?

    Pour tester une idée rapidement, un complément reconnu peut suffire. Pour construire un processus lié à un tableau, Power Automate offre une approche sans programmation avancée. Si vous voulez maîtriser précisément le fonctionnement dans un classeur, VBA permet de personnaliser les consignes et le traitement, à condition de prendre au sérieux la sécurité et la gestion des erreurs.

    Commencez petit : une colonne, une tâche et quelques lignes de test. Quand le résultat est fiable, vous pourrez étendre l’automatisation à d’autres feuilles ou à d’autres usages. Et si votre macro transforme déjà cinquante avis en résumés pendant que vous préparez votre café, vous aurez gagné du temps sans demander à Excel de faire de la magie. Juste un peu de bon code.