Comment utiliser l'intelligence artificielle Chat GPT dans Excel ?

Guide « 108 astuces pour grands débutants sur Excel ! » Offert
Booster votre productivité en téléchargeant gratuitement votre ebook PDF des meilleures astuces pour les débutants et les pros d'Excel
Excel formation - 00 Astuces - 100
 

Vous avez toujours rêvé de pouvoir automatiser certaines tâches fastidieuses dans Excel ? Grâce à Chat GPT, il est désormais possible d'intégrer l'intelligence artificielle dans vos feuilles de calcul pour vous aider à générer automatiquement des formules, des réponses à des questions ou même des résumés de textes. Dans cette vidéo, je vais vous montrer comment mettre en place une macro simple qui vous permettra d'utiliser Chat GPT directement dans Excel.

 

Téléchargement

Vous pouvez télécharger le fichier d'exemple de cet article en cliquant sur le lien suivant :

This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.
 

 

Tutoriel Vidéo

 

Utiliser GPT dans Excel :

 

Écrire un livre en 1 clic :

 

1. Qu’est-ce que Chat GPT ?

À moins de vivre dans une grotte, vous avez déjà sûrement entendu parler du phénomène Chat GPT. Il s’agit d’une intelligence artificielle qui repose sur un modèle de traitement du langage développé par Open AI, permettant de générer rapidement du texte en imitant le style et la structure d’une vraie personne.

Pour tester Chat GPT, il suffit de se rendre à l’adresse suivante https://chat.openai.com/, puis de s’inscrire en saisissant une adresse mail et un numéro de téléphone.

Nous pourrons ensuite commencer une conservation avec l’IA, comme s’il s’agissait d’une vraie personne en posant toutes sortes de questions.

Exemple : « J’habite à Goussainville et mon travail est à Cergy. J’ai travaillé 217 jours l’année dernière, dont 34 en télétravail. Quelle est la distance entre ces deux villes, et combien de km dois-je déclarer pour les allers-retours sur ma déclaration d’impôt ? »

Excel formation - Connecter Chat GPT dans Excel - 01

Il existe deux méthodes pour utiliser Chat GPT : le chat (appelé « Playground ») que nous venons d’utiliser à l’instant et l’API qui permet d’utiliser Chat GPT depuis n’importe quelle application :

  • Comme nous venons de le voir, le playground permet aux utilisateurs de tester les modèles Chat GPT en utilisant un navigateur web. Il permet d'interagir avec les modèles en saisissant ce que l’on appelle des prompts (c’est-à-dire des demandes d'informations), afin d’obtenir en retour des réponses générées par l’intelligence artificielle. Il est facile à utiliser, gratuit et ne nécessite pas de compétence de développement. I est donc idéal pour les utilisateurs qui utilisent occasionnellement les services de Chat GPT, pour réaliser des tâches simples.
  • L'API Chat GPT, quant à elle, est un moyen pour les développeurs d'accéder aux modèles Chat GPT dans leurs propres applications. Il permet de faire des requêtes en utilisant des appels HTTP et recevoir la réponse directement dans une application existante. Comme nous le verrons un peu plus tard, l'API Chat GPT nécessite une clé d'API pour fonctionner, mais elle offre une flexibilité et une puissance supplémentaires par rapport au playground. Elle est donc idéale pour les développeurs qui souhaitent intégrer la puissance de Chat GPT dans des applications professionnelles ou pour des utilisateurs qui souhaitent automatiser des tâches.

Attention en revanche, la première solution est totalement gratuite pour le moment, alors que la seconde nécessite comme nous venons de le voir l’utilisation d’une clé, qui est payante. Le prix de celle-ci dépend du nombre de jetons utilisés (en gros du nombre de caractères utilisés transitant entre l’application et l’API, que ce soit pour la question, ou pour la réponse). Pour le moment, 18$ de jetons sont offerts à l’inscription, ce qui permet d’effectuer de nombreux tests.

 

2.Pourquoi utiliser Chat GPT dans Excel ?

Dans ce tutoriel, nous allons donc revenir dans le détail sur cette seconde méthode, laquelle va nous permettre d’intégrer la puissance de Chat GPT directement sur une feuille de calcul.

Cela pourra être utile dans de nombreux cas, comme par exemple pour :

  • Automatiser la saisie de données : Chat GPT peut être utilisé pour générer automatiquement des données en répondant à des prompts basés sur des données existantes directement sur la feuille de calcul.
  • Automatiser l’analyse des données et la génération de rapports : Chat GPT peut être utilisé pour générer une analyse basée sur les données contenues dans la feuille de calcul, ce qui peut aider à identifier les tendances de celle-ci.
  • Assister la saisie : Chat GPT peut être utilisé pour suggérer des entrées automatiques pour les cellules de la feuille de calcul, ce qui peut accélérer la saisie de données et réduire les erreurs.
  • Traduire automatiquement : Chat GPT peut être utilisé pour traduire les contenus d'une feuille de calcul.

Évidemment, les cas que je viens de vous présenter ici ne sont que des exemples permettant d’illustrer toute la puissance de Chat GPT. Nous pouvons encore imaginer de nombreux autres cas d'utilisation potentiels, cela dépendra de l'utilisation que chacun peut avoir d’Excel. En utilisant Chat GPT dans Excel, vous pouvez automatiser des tâches fastidieuses, améliorer la précision des données et gagner du temps pour des tâches plus importantes.

 

3. Découvrir l’API de Chat GPT

Avant de nous lancer dans le développement de la macro à proprement parler, il peut être utile d’aller consulter la documentation à partir de l’adresse : https://beta.openai.com/docs/introduction

Nous y retrouverons en effet toutes les informations utiles, notamment trois notions essentielles.

 

3.1. La notion de modèle

 

OpenAI propose différents modèles pour générer du texte, chacun ayant des capacités différentes. Parmi les principaux modèles, nous retrouvons notamment :

  • Le modèle « DALLE » qui permet de générer des images à partir d’un texte (un prompt),
  • Le modèle « Text-davinci-003 » qui est le modèle qui va nous intéresser ici, qui permet de générer des phrases et des paragraphes complets de manière fluide et naturelle en partant lui aussi d’un texte de départ.

Pour plus d’informations, consultez la page https://beta.openai.com/docs/models/text-davinci-003

Excel formation - Connecter Chat GPT dans Excel - 02

 

3.2. La notation de méthode

 

La notion de « méthode de traitement de données » : En plus de choix du modèle que nous venons d’aborder à l’instant, nous allons également devoir choisir le type de méthode que nous souhaitons utiliser pour traiter la requête. Il existe en effet plusieurs méthodes qui permettent de réaliser des opérations précises. Nous pouvons ainsi retrouver en autre les méthodes suivantes :

  • La méthode de « déduplication des données » permet de détecter les phrases similaires dans un grand ensemble de textes afin d’identifier les doublons ou les plagiats.
  • Nous retrouvons également la méthode de « summarization des données » qui permet de résumer un texte tout en conservant les informations les plus importantes.
  • Ensuite, la méthode de « completions des données » qui génère du texte à partir d'un prompt est celle qui va nous intéresser dans le cadre de tutoriel

Pour plus d’informations, consultez la page https://beta.openai.com/docs/api-reference/completions/create

 

3.3. La notion de clé API

 

Pour communiquer avec ChatGPT depuis Excel, nous allons tout d’abord devoir récupérer une clé API.

Nous l’avons vu un peu plus tôt, une clé API, ou clé d'application, est une chaîne de caractères unique qui est utilisée pour identifier une application ou un utilisateur auprès d'un service en ligne. Cela permet au service de savoir qui fait la demande et de décider si elle doit être autorisée ou refusée. Pour utiliser l'API OpenAI, nous aurons donc besoin d'une clé API qui va nous permettre de nous auprès auprès de leurs serveurs.

Nous pourrons la récupérer simplement après nous être inscrits au service à l’adresse https://beta.openai.com/account/api-keys.

Ensuite, nous viendrons effectuer un copier-coller de celle-ci dans la cellule B6 de la feuille de calcul.

Attention, cette clé est très importante, car si quelqu’un la récupère, il pourra se faire passer par vous après de Chat GPT et utiliser votre compte et utiliser vos crédits !

Gardez-la précautionneusement, car une fois que celle-ci est récupérée, vous ne pourrez plus la retrouver.

 

4. Création des plages nommées

Pour simplifier la communication entre les données stockées sur la feuille de calcul et la macro VBA, nous allons commencer par préparer celle-ci en définissant des plages nommées qui vont faire aux cellules dans lesquelles nous allons souhaiter enregistrer les paramètres d’utilisation de la macro (la cellule B6 dans laquelle nous allons stocker la clé API et la cellule B8 dans laquelle nous viendrons saisir une question).

Pour cela, nous commençons par sélectionner la cellule B6 dans laquelle nous avons stocké la clé API, puis nous allons saisir « _api » dans la zone des noms :

Excel formation - Connecter Chat GPT dans Excel - 03

Maintenant, nous pourrons récupérer le contenu de la cellule directement en l’appelant par ce nom, que ce soit dans la feuille de calcul, ou encore depuis le code VBA.

Ensuite, nous répétons la même opération pour appeler la cellule B8 dans la laquelle nous viendrons saisir la question à envoyer à Chat GPT et la cellule B9 dans laquelle la macro nous retournera la réponse :

  • B8 : « _question »
  • B9 : « _reponse »

 

5. Utiliser Chat GPT dans Excel

 

5.1. Création automatique de la macro ChatGPT

 

Maintenant que nous connaissons toutes les notions essentielles concernant l’utilisation de Chat GPT, nous pouvons nous lancer dans le développement de la macro !

Dans un premier temps, pour pouvoir l’appeler facilement depuis la feuille de calcul, nous allons créer une zone de nom dans laquelle nous saisissons le terme « Demander à Chat GPT ».

Si nous le souhaitons, nous pouvons mettre en forme le bouton, en appliquant l’un des styles que nous retrouvons depuis le menu « Format » du ruban.

Ensuite, nous effectuons un clic droit sur celui-ci afin de sélectionner l’option « Affecter une macro ». Dans la zone dédiée, nous saisissons le nom de la macro que nous allons créer : « ChatGPT ».

Puis, pour qu’Excel nous la crée rapidement, nous cliquons sur le bouton « Nouvelle ».

Excel ouvre alors automatiquement l’éditeur de code « VBE » et nous retrouvons notre macro, dans laquelle nous pourrons saisir des lignes de code entre les lignes « Sub ChatGPT() » et « End Sub ».

Toutes les instructions que nous allons saisir entre ces deux lignes s’exécuteront en effet à chaque fois que nous appuierons sur le bouton de la feuille de calcul.

 

5.2. Développement de la macro ChatGPT

 

Maintenant que la macro est créée, nous allons pouvoir saisir les instructions qui vont nous permettre d’appeler ChatGPT !

Pour que cette macro soit comprise par tous, nous allons revenir dans le détail sur chaque point de son élaboration.

Tout d’abord, comme nous venons de le voir, la macro commence par la ligne :

Sub ChatGPT()

Cette ligne définit le début de la macro avec le nom "ChatGPT".

Puis, nous allons déclarer une nouvelle variable objet que nous appelons "objHTTP", et qui va nous permettre d’envoyer une requête HTTP à l'API Chat GPT :

    Dim objHTTP As Object

Maintenant que la variable « objHTTP » est déclarée pour allons pouvoir lui assigner l’objet Microsoft XMLHTTP. Cet objet "Microsoft.XMLHTTP" permet en effet de communiquer directement avec des serveurs externes en utilisant une requête http et de recevoir et de traiter une réponse http en retour.

Pour communiquer avec Chat GPT, nous utiliserons une requête POST en paramétrant l’en-tête de celle-ci comme nous le verrons un peu plus tard.

Pour affecter l’objet XMLHTTP à la variable objHTTP, nous saisissons la ligne :

    Set objHTTP = CreateObject("Microsoft.XMLHTTP") 

Nous allons maintenant pouvoir utiliser la variable objHTTP pour envoyer la requête HTTP à l'API OpenAI. Pour ouvrir la connexion de type « POST » avec l'API, nous utilisons la méthode "Open" avec l'URL de l'API Chat GPT, en utilisant comme nous l’avons vu un peu plus tôt la méthode « completions ».

Nous retrouvons l’adresse à utiliser dans la documentation (https://beta.openai.com/docs/api-reference/completions).

Excel formation - Connecter Chat GPT dans Excel - 04

Le dernier argument "False" indique que la requête est synchronisée :

objHTTP.Open "POST", "https://api.openai.com/v1/completions",  False

Ensuite, nous allons pouvoir définir l’en-tête de la requête HTTP avec la méthode "setRequestHeader" de l'objet "objHTTP".

Dans un premier temps, nous allons spécifier que nous souhaitons utiliser le JSON en tant que format de communication avec l’API. Pour cela, nous utilisons l’argument "Content-Type" auquel nous donnons la valeur "application/json" :

objHTTP.setRequestHeader "Content-Type",  "application/json"

Le JSON (JavaScript Object Notation) est un format de données léger et facile à lire qui permet de stocker et de transmettre des données structurées. Il utilise des paires clé-valeur pour stocker les données sous forme de chaînes de caractères, qui peuvent être facilement analysées et générées par de nombreux langages de programmation.

La réponse que nous récupèrerons ensuite de la part de l'API OpenAI sera également présentée sous le format JSON. Nous devrons donc l’analyser et la formater pour extraire les données qui vont nous intéresser.

Ensuite, nous allons également devoir inclure la clé de l’API dans l’en-tête de la requête pour que celle-ci puisse être récupérée et que le traitement soit autorisé par Open AI.

Nous utilisons à nouveau la méthode setRequestHeader, comme ceci :

    objHTTP.setRequestHeader  "Authorization", "Bearer " & [_api].Value

Nous venons donc transmettre la clé stockée dans la cellule « _api » en tant qu’argument « Autorization ». Il faut également accoler à la clé le terme « Bearer » en utilisant l’esperluette.

Il s’agit d’un terme qui fait référence à un type d'authentification utilisé pour les requêtes HTTP. Il s'agit d'une méthode d'authentification qui consiste à inclure le jeton d'accès dans l'en-tête de la requête HTTP. Ce jeton est généralement délivré par un serveur d'authentification et est utilisé pour prouver l'identité de l'utilisateur qui effectue la requête.

Le moment fatidique est maintenant arrivé : nous allons en effet envoyer la requête à l’API d’Open AI.

Pour cela, nous allons utiliser la méthode « send » de l’objet « objHTTP ».

Comme nous l’avons vu, nous allons formater celle-ci en tant que requête JSON, avec des paires clé-valeur, le tout saisi entre guillemets, avec des crochets ouvrant et fermant.

Nous allons spécifier trois informations :

  • Le modèle : nous avons vu un peu plus tôt qu’ici nous allons utiliser le modèle de requête « text-davinci-003 », qui permet de générer du texte en réponse à un prompt donné.
  • Le prompt : il s’agit de la question que nous allons envoyer au serveur, celle-ci étant stockée dans la cellule « _question » de la feuille de calcul.
  • Et enfin, pour éviter toute mauvaise surprise, nous allons également pouvoir définir le coût maximal de la requête, exprimé en tokens (c’est-à-dire en jeton)

 

objHTTP.send  "{""model"": ""text-davinci-003"",  ""prompt"": """ & [_question] &  """, ""max_tokens"": 1024}"

Une fois que la requête est envoyée à l’API, nous allons devoir attendre que celle-ci nous revienne en observant la propriété readyState de l’objet objHTTP :

    Do While objHTTP.readyState <> 4
        DoEvents
    Loop

Nous attendons ici que la valeur de cette propriété soit différente de « 4 » pour que l'objet "objHTTP" puisse nous retourner une réponse. L’instruction « DoEvents » permet à d'autres événements de se produire pendant que la macro attend une réponse de l'API Chat GPT.

Une fois la réponse récupérée, nous allons la stocker dans une variable « reponse » que nous typons en tant que String. Pour cela, après avoir déclaré la variable, nous allons utiliser la propriété « responseText » de l'objet "objHTTP" :

    Dim reponse As String
    reponse = objHTTP.responseText

Avant de pouvoir tester la macro, nous allons afficher celle-ci dans la fenêtre d’exécution, ce qui nous permettra de l’enregistrer pour ne pas avoir à consommer des jetons pour la suite de la macro.

Pour cela, nous utilisons l’instruction :

    debug.Print reponse

Nous pouvons maintenant lancer la macro, après nous être assurés d’avoir saisi la bonne clé d’API dans la cellule « _api » et une question dans la cellule « _question » de la feuille de calcul.

Si tout se passe bien, vous devriez récupérer la réponse dans la fenêtre d’exécution :

Excel formation - Connecter Chat GPT dans Excel - 05

 {"id":"cmpl-6cApglr5lSggNq0HIPpG0TI9olEoK","object":"text_completion","created":1674556124,"model":"text-davinci-003","choices":[{"text":"\n\nLa  distance entre Paris et New York est d'environ 5 966  kilomètres.","index":0,"logprobs":null,"finish_reason":"stop"}],"usage":{"prompt_tokens":14,"completion_tokens":24,"total_tokens":38}} 

Comme vous pouvez le voir, celle-ci nous a coûté 38 tokens.

Maintenant, nous allons commenter les lignes d’envoie et de traitement de la requête et effectuer un copier-coller du résultat présenté dans la variable « reponse », en n’oubliant pas de doubler les guillemets pour les échapper :

Excel formation - Connecter Chat GPT dans Excel - 06

Si nous relançons la macro, nous allons retrouver le même résultat dans la fenêtre d’exécution.

Maintenant, nous allons retraiter le résultat présenté pour ne conserver que la partie qui nous intéresse.

Ici, nous n’allons pas nous embêter à utiliser une librairie de gestion du format JSON. Il sera en effet plus simple de scinder la chaîne de caractère pour ne garder que la partie située après « [{""text"":" » :

Excel formation - Connecter Chat GPT dans Excel - 07

Puis avant « ","index":0 » :

Excel formation - Connecter Chat GPT dans Excel - 08

Pour cela, nous allons utiliser les fonctions VBA Mid() et Left() :

    reponse = Mid(reponse, InStr(1, reponse,  "[{""text"":""") + 10)

La fonction « Mid » nous permet d’extraire une partie de la réponse en utilisant la fonction « InStr » pour trouver l'emplacement de début et l'ajouter 10 pour se déplacer vers la partie de la réponse qui contient le texte de la réponse. Attention ici aussi de bien doubler les guillemets à l’intérieur de la chaîne de caractères.

    reponse = Left(reponse, InStr(1, reponse,  """,""index"":0") - 1)

Ensuite, nous utilisons la fonction « Left » pour extraire une partie en utilisant cette fois-ci la fonction « InStr » pour trouver l'emplacement de fin.

Pour finir, il ne reste plus qu’à remplacer les caractères « \n » représentant les sauts de ligne en HTML par l’équivalent VBA, c’est-à-dire vbNewLine en utilisant la fonction « Replace »

    reponse = Replace(reponse, "\n",  vbNewLine)

>

Nous pouvons maintenant déplacer le « Debug.Print » en dessous de cette dernière ligne pour récupérer uniquement la réponse qui nous intéresse :

Excel formation - Connecter Chat GPT dans Excel - 09

Pour finir, il ne reste plus qu’à afficher cette réponse dans la cellule « _reponse » plutôt que dans la fenêtre d’exécution :

    [_reponse] = reponse

Et voilà le résultat :

Excel formation - Connecter Chat GPT dans Excel - 10

Pensez bien à supprimer la ligne d’affectation de la variable « reponse » et à décommenter toutes les lignes que nous avions désactivées un peu plus tôt pour pouvoir envoyer de nouvelles questions !

Comme vous avez pu le constater, en utilisant l'API de Chat GPT dans Excel, vous pouvez gagner beaucoup de temps et d'énergie en automatisant certaines tâches fastidieuses.

Si vous souhaitez que je vous présente des cas d’utilisation concrets de l’intelligence artificielle dans Excel, n’hésitez pas à m’en faire part en commentaire. J’attends également vos idées d’utilisation !

 



Articles qui pourraient vous intéresser

Comment remplir automatiquement des cellules d'un tableau Excel avec la complétion automatique
Comment regrouper (ou pas !) les dates d’un tableau croisé dynamique (TCD) sur Excel ?
Comment connecter Excel sur Internet, sans VBA ?
Comment traduire automatiquement des fonctions Excel dans leur version originale ?
Comment analyser les résultats d’un sondage ou questionnaire avec Excel ?
Comment utiliser la fonction SOMME.SI pour effectuer des recherches sur des textes sur Excel ?
Comment calculer et étudier des écarts budgétaires avec Excel ?
Comment verrouiller et protéger un objet (graphique, image, zone de texte…) sur Excel ?
Comment formater des dates correctement dans Excel ?
Comment protéger le formatage des cellules tout en autorisant la saisie de données dans Excel ?
Comment transformer une photo en tableau Excel ?
Comment créer un publipostage automatique avec Excel ? (sans Word !)

Contact - Plan du site - À propos - Contact

© Excelformation.fr 2018-2024 - Excel, simplement

Haut de la page

Excelformation.fr propose de nombreuses formations pratiques et gratuites sur Microsoft Excel : des cours pour apprendre à structurer et analyser les données, des tutos sur les fonctions avancées, les formules et les formules avancées d'Excel, les formules matricielles, les mise-en-formes conditionnelles, les graphiques Excel (xls, xlsx, xlsm,…). Des tutoriels pour apprendre à automatiser les tâches répétitives (via des macro-commandes en VBA) de vos classeurs Excel.