L’intelligence artificielle (IA) ouvre beaucoup d’opportunités La rédaction automatisée, la traduction et la correction de textes sont des thèmes de prédilection de l’IA. ChatGPT d’OpenAI, disponible librement (pour le moment) excelle dans ces sujets. ChatGPT est également utile pour écrire des programmes ou des formules de calcul Excel.
A titre de démonstration, l’article qui suit va proposer à ChatGPT un code VBA comportant plusieurs erreurs. L’objectif étant d’obtenir un code débogué.
Voyons comment ChatGPT résout un jeu des trois erreurs…
Le code VBA comportant les trois erreurs :
For i=100 To 0 Range("A"i).Value=i Next i
ChatGPT a bien détecté des anomalies et proposé un code corrigé ainsi qu’une amorce d’explication :
1ère anomalie : opérateur de concaténation (&) absent
ChatGPT a repéré que l’opérateur de concaténation (l’esperluette : &) est absent de la ligne :
Range(“A” i).Value=i
Et propose en conséquence :
Range(“A” & i).Value=i
La première erreur est donc corrigée et une explication appropriée est fournie.
2ème anomalie : boucle compteur décroissante dépourvue de STEP (pas) négatif
La boucle compteur FOR… TO… NEXT fait varier la variable i de 100 à 0. Il s’agit d’un décompte décroissant. Or par défaut, le pas d’incrémentation est de 1 (donc croissant). La boucle n’est donc pas en état de s’exécuter.
ChatGPT corrige cette erreur de programmation en ajoutant l’instruction STEP -1 au code mais sans signaler la correction, ni la documenter.
Pour en savoir plus sur les boucles compteur : cf le 6ème volet de la formation gratuite à l’analyse de données avec Excel.
3ème anomalie : ligne 0
La boucle compteur fait varier la variable i de 100 à 0. La fonction Range se sert de cette variable pour écrire dans la cellule située à la croisée de la colonne A et de la ligne représentée par la variable i. Or lorsque la variable i prend la valeur 0, Excel renverra un message d’erreur, la ligne 0 n’existant pas.
Curieusement ChatGPT analyse que la boucle doit aller de la ligne 100 à 1 :
“Ce code attribuera la valeur de “i” à la cellule correspondante dans la colonne A pour chaque itération de la boucle For, en allant de la ligne 100 à la ligne 1.“
…sans pour autant signaler l’anomalie dans le code, ni le corriger puisqu’il maintient “TO 0”.
La troisième anomalie n’est donc pas corrigée par ChatGPT.
Conclusion
ChatGPT se révèle utile pour déboguer du code VBA même s’il n’est pas parvenu à totalement débarrasser le code VBA de l’ensemble des erreurs.
For i=100 To 1 Range("A" & i).Value=i Next i
Cette IA est capable des mêmes prouesses avec d’autres langages informatiques y compris des formules Excel.
Microsoft, qui a investi dans le projet ChatGPT d’OpenAI, va intégrer progressivement GPT dans ses produits, à commencer par son moteur de recherche Bing et son logiciel de visio et messagerie instantanée Teams.
Pour obtenir de l’aide ou se former à Excel :
- Formation à Excel et Access (analyse de données et automatisation)
- Business intelligence avec Excel
- Mendo, l’assistant personnel Excel
L’hebdomadaire Le 1 hebdo consacre son numéro actuellement en kiosque (n° 432, 1er février 2023) à l’intelligence artificielle en titrant “L’IA va-t-elle nous remplacer ?“.
Ce numéro apporte un éclairage pertinent sur l’IA et la place de l’Homme dans un environnement de plus en plus technique et de moins en moins humain…
___
Pour approfondir le sujet : utiliser ChatGPT et se former à l’IA ; tous les articles en rapport avec l’intelligence artificielle, ChatGPT
Derniers articles parBenoît RIVIERE (voir tous)
- Nouveautés de l’interpréteur de formules de calcul (v1.1) - dimanche 3 novembre 2024
- Dématérialisation de la facturation : nouvelles mentions obligatoires - lundi 28 octobre 2024
- Interpréteur de formules de calcul en Python - dimanche 13 octobre 2024
- Les données de la facturation électronique - mercredi 9 octobre 2024
- VBA/SQL vs Power Query : deux solutions complémentaires - mercredi 2 octobre 2024