IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)

Vous êtes nouveau sur Developpez.com ? Créez votre compte ou connectez-vous afin de pouvoir participer !

Vous devez avoir un compte Developpez.com et être connecté pour pouvoir participer aux discussions.

Vous n'avez pas encore de compte Developpez.com ? Créez-en un en quelques instants, c'est entièrement gratuit !

Si vous disposez déjà d'un compte et qu'il est bien activé, connectez-vous à l'aide du formulaire ci-dessous.

Identifiez-vous
Identifiant
Mot de passe
Mot de passe oublié ?
Créer un compte

L'inscription est gratuite et ne vous prendra que quelques instants !

Je m'inscris !

Microsoft publie et brevette "Python In Excel", qui met la puissance des bibliothèques analytiques Python populaires telles que pandas, Matplotlib et NLTK à la disposition d'innombrables utilisateurs d'Excel

Le , par Jade Emy

32PARTAGES

5  0 
Microsoft annonce la disponibilité générale de "Python in Excel" pour les utilisateurs Windows de Microsoft 365 Business et Enterprise. Microsoft a également annoncé l'aperçu public de "Copilot in Excel with Python". Microsoft affirme que le code Python utilisé par Excel s'exécute sur le Microsoft Cloud avec une sécurité de niveau entreprise en tant qu'expérience connectée conforme à Microsoft 365.

En août 2023, Microsoft annonçait l'aperçu public de "Python In Excel". "Python in Excel" est une fonctionnalité qui permet aux utilisateurs avancés de tableurs de combiner des scripts dans le populaire langage Python et leurs formules Excel habituelles dans le même classeur. À l'époque, Microsoft précisait que l'intégration de Python dans Excel offrirait la combinaison de la puissance de Python et la flexibilité d'Excel, mais que les calculs Python seront exécutés dans le Microsoft Cloud.

Face à cela, les utilisateurs de "Python in Excel" ont exprimé le souhait de pouvoir exécuter Python dans des environnements autres que les conteneurs Microsoft Azure verrouillés. L'équipe de Microsoft Excel avait alors expliqué que "trois raisons principales ont poussé à commencer par le cloud". D'abord, exécuter Python en toute sécurité sur une machine locale est un problème difficile. Puis, le partage de classeurs Excel avec d'autres personnes est un scénario très important. Enfin, pour assurer que la fonction "Python in Excel" fonctionne toujours pour les clients.

Maintenant, un an plus tard, Microsoft annonce la disponibilité générale de "Python in Excel" pour les utilisateurs Windows de Microsoft 365 Business et Enterprise. Microsoft a également annoncé l'aperçu public de "Copilot in Excel with Python", qui prendra les demandes d'analyse en langage naturel des utilisateurs et générera, expliquera et insérera automatiquement du code Python dans les feuilles de calcul Excel.


Microsoft déclare pour son annonce : "Python in Excel est désormais disponible de manière générale pour les utilisateurs Windows de Microsoft 365 Business et Enterprise. En août dernier, en partenariat avec Anaconda, nous avons introduit une nouveauté passionnante dans Excel en intégrant Python, ce qui permet de combiner de manière transparente les analyses Python et Excel au sein du même classeur, sans aucune configuration requise. Depuis, nous avons apporté la puissance des bibliothèques analytiques Python populaires telles que pandas, Matplotlib et NLTK à d'innombrables utilisateurs d'Excel."

Bien que critiqué pour avoir limité l'exécution de Python à des conteneurs Azure verrouillés, Python in Excel a également été salué par le créateur de Python, Guido van Rossum, aujourd'hui ingénieur distingué de Microsoft, ainsi que par le créateur de Pandas, Wes McKinney. Wes McKinney commentait : "L'intégration transparente des structures de données Python telles que les cadres de données pandas et les tableaux NumPy dans Excel change complètement la donne. Cet accès élargi à Python créera de nouvelles opportunités d'innovation passionnantes et facilitera la collaboration entre les analystes commerciaux et les scientifiques des données."

Concernant la requête des utilisateurs de pouvoir exécuter Python dans des environnements autres que Microsoft Cloud, Microsoft y répond en affirmant que la sécurité est sa priorité. Microsoft déclare : "Le code Python utilisé par Excel s'exécute sur le Microsoft Cloud avec une sécurité de niveau entreprise en tant qu'expérience connectée conforme à Microsoft 365, tout comme OneDrive. Le code Python s'exécute dans son propre conteneur isolé par l'hyperviseur en utilisant Azure Container Instances et des paquets sécurisés et construits à la source par Anaconda à travers une chaîne d'approvisionnement logicielle sécurisée."

Microsoft ajoute : "Python in Excel préserve la confidentialité de vos données en empêchant le code Python de savoir qui vous êtes, et en ouvrant les classeurs à partir d'Internet dans un isolement supplémentaire au sein de leurs propres conteneurs séparés. Les données de vos classeurs ne peuvent être envoyées que via la fonction Python intégrée xl(), et la sortie du code Python ne peut être renvoyée que comme résultat de la fonction Excel =PY(). Les conteneurs restent en ligne tant que le classeur est ouvert ou jusqu'à ce qu'un dépassement de délai se produise." Tout cela pour rassurer les utilisateurs que les données ne resteront pas dans le Microsoft Cloud.

L'annonce ne mentionne pas que Microsoft a réussi à convaincre l'USPTO de lui délivrer un brevet en juillet 2024 sur l'intégration améliorée des feuilles de calcul avec des environnements externes, qui, selon Microsoft, couvre la "mise en œuvre d'intégrations améliorées d'environnements de feuilles de calcul natifs avec des ressources externes telles que - mais sans s'y limiter - Python". Tout cela peut surprendre les éditeurs de logiciels et les particuliers qui intégraient Excel et des environnements de programmation externes des années avant que Microsoft ne dépose sa demande de brevet en septembre 2022.


Python in Excel : Combinaison de la puissance de Python et de la flexibilité d'Excel

Avec Python in Excel, les utilisateurs peuvent exploiter des analyses avancées pour les visualisations, le nettoyage des données, l'apprentissage automatique, l'analyse prédictive, et bien plus encore. Voici quelques exemples de ce qui est possible :

Exploiter l'analyse prédictive

Les capacités de modélisation avancées de Python offrent des analyses d'optimisation détaillées et flexibles, telles que les simulations de Monte Carlo. Ces capacités permettent aux utilisateurs de gérer des scénarios complexes et de mieux comprendre leurs données.



Visualiser les connexions réseau

NetworkX est un outil puissant pour la création et l'analyse de réseaux complexes, offrant la flexibilité nécessaire pour modéliser et visualiser efficacement les relations entre les nœuds.

Citation Envoyé par Jack McCullogh, Partenaire principal PM - Microsoft Business and Industry Copilots
L'utilisation de Python dans Excel a considérablement rationalisé mon flux de travail... Elle a rendu la manipulation et la visualisation de données complexes simples et efficaces. La fonction ne nécessite aucune configuration, ce qui me fait gagner un temps considérable. L'intégration a rendu plus accessible la manipulation de données avancées.


Analyse du langage naturel

Les bibliothèques NLTK et word cloud en Python fournissent des outils robustes pour l'analyse et la visualisation de textes. NLTK excelle dans les tâches de traitement du langage naturel, tandis que word cloud génère des représentations visuellement attrayantes de données textuelles.

Citation Envoyé par Pawan Divikarla, chef d'entreprise, Progressive Insurance
Les analystes progressifs, qui s'appuient sur l'analyse de données pour obtenir des informations, pourraient bénéficier de ce que nous avons vu avec les dernières avancées comme Python in Excel. L'intégration d'Excel avec Copilot rapproche les capacités d'IA de l'endroit où résident actuellement les données, c'est-à-dire dans nos classeurs. La combinaison de tous ces éléments et de la possibilité d'envoyer des messages en langage clair pourrait aider les analystes à tirer parti d'analyses de pointe, telles que des visualisations avancées, ce qui leur permettrait de n'utiliser qu'Excel et d'exceller dans leur métier.


Voici les améliorations que l'équipe de Microsoft Excel continuent d'apporter à Python in Excel :

Édition moderne

Une bonne expérience Python nécessite une édition moderne. Cela inclut de nouvelles fonctionnalités telles que la coloration syntaxique, la complétion de code et l'aide au référencement des données avec la fonction xl() - toutes ces fonctionnalités ont été ajoutées directement à la barre de formule. Ils ont récemment annoncé l'éditeur Python, une nouvelle surface qui est un excellent compagnon pour la création de code et qui exploite de nombreuses expériences similaires à celles que l'on trouve dans Visual Studio Code.



Copilot dans Excel avec Python

Microsoft annonce l'aperçu public de "Copilot in Excel with Python", qui est conçu pour exploiter l'IA afin de libérer la puissance de Python dans Excel pour un plus grand nombre d'utilisateurs. Avec Copilot, vous pouvez utiliser le langage naturel pour décrire l'analyse que vous souhaitez effectuer, et il générera, expliquera et insérera automatiquement le code Python dans votre feuille de calcul Excel.

Citation Envoyé par Mark Hodge, Microsoft 365 Global Blackbelt
Avec une invite de Copilot en deux phrases, j'ai été ravi de voir Copilot dans Excel écrire du code Python en utilisant RandomForestRegressor du module sklearn, ce qui m'a ouvert le monde de l'apprentissage automatique. Avec un code Python fonctionnel en main, je pense pouvoir ajuster les paramètres pour obtenir le résultat souhaité. Lorsque j'ai dû apprendre Python avant même de pouvoir commencer, je n'ai pas commencé.


Disponibilité

Python dans Excel est maintenant généralement disponible pour les utilisateurs Windows de Microsoft 365 Business et Enterprise. Avec les abonnements Microsoft 365 éligibles, vous pouvez calculer des formules Python avec le mode de calcul standard et le mode de recalcul automatique. Pour des calculs plus rapides avec le calcul premium et l'accès aux modes de recalcul manuel ou partiel, vous devez acheter la licence complémentaire Python in Excel ou demander la licence à votre administrateur.

Citation Envoyé par Microsoft

Nous pensons qu'il existe une opportunité significative pour toute personne utilisant Excel pour l'analyse d'améliorer considérablement son travail avec Python. Outre l'intégration de nombreux exemples, tutoriels et astuces dans Excel, il existe des cours pour Python dans Excel sur LinkedIn Learning. Une nouvelle série, annoncée aujourd'hui, sera disponible gratuitement pendant 30 jours ! Après cette période, elle sera accessible aux abonnés de LinkedIn Premium ou LinkedIn Learning.

Source : Microsoft

Et vous ?

Avez-vous utilisé cet outil, et si oui qu'en pensez-vous ?
Pensez-vous que la volonté de Microsoft de maintenir Python in Excel dans Microsoft Cloud est crédible ou pertinente ?

Voir aussi :

Microsoft envisagerait d'ajouter Python comme langage de script officiel à Excel. Les utilisateurs sont appelés à donner leur opinion sur la question

Microsoft apporte JavaScript à Excel par l'intermédiaire d'une nouvelle API, pour permettre aux développeurs de créer des types de données personnalisés dans Excel

Une erreur dans cette actualité ? Signalez-nous-la !

Avatar de RenarddeFeu
Membre averti https://www.developpez.com
Le 19/09/2024 à 16:03
Citation Envoyé par Basiqueur Voir le message
Le but est autant de faciliter la vie de l'utilisateur que de proposer des nouveautés jusqu'alors infaisables.
On peut faire beaucoup de choses avec Vba mais ce langage est vieux, peu performant et n'a connu aucune évolution majeure depuis des lustres.

Si tu veux par exemple filtrer une variable tableau en Vba, il va te falloir :
- créer une nouvelle variable tableau
- boucler sur l'ensemble des lignes de la variable initiale
- vérifier le respect de tes conditions de filtrer pour chaque ligne
- copier les données d'une variable à l'autre
- redimensionner la variable de destination à chaque itération
etc.....

Au final il te faudra écrire plusieurs dizaines de lignes de codes qui mettront un temps conséquent à s'exécuter. Alors qu'en python ça se fait en une seule ligne et probablement en moins d'une seconde.

Et ce n'est qu'un exemple sur une opération assez basique. Niveau création d'interface utilisateur, cela devient une vraie usine à gaz en Vba si on veut vraiment bien faire les choses. Certaines bibliothèques python ont vraiment un gros plus à apporter dans ce domaines.

Sur le papier tout ça semble vraiment intéressant mais la méthode d'intégration ne va sans doute pas faciliter l'adoption.
L'intérêt d'une technologie vis-à-vis d'une autre n'est pas réductible aux qualités intrinsèques du langage.

On a beau critiquer VBA, des scripts écrits il y a plus de 20 ans tournent encore très bien aujourd'hui. La seule maintenance nécessaire concerne la MAJ des API Windows en version 64-bits.

Et si VBA n'est pas satisfaisant, autant utiliser des extensions genre Excel-DNA qui posent infiniment moins de problèmes de distribution et maintenance sur le long terme. Ça supporte même .NET 6.0+, c'est dire le travail colossal de l'équipe de développement. C'est aussi un bon gage quant à la viabilité du projet à long terme.

Le jour où Microsoft décide de stopper son service Python dans le cloud (et ça arrivera forcement, c'est afférent au cloud), t'es marron et t'as juste à repartir de zéro. Ton travail part direct à la poubelle.
3  0 
Avatar de kiruahxh
Nouveau membre du Club https://www.developpez.com
Le 18/09/2024 à 22:29
Quel blabla commercial pour vendre de la licence OneDrive... Ils ont pas été foutus d'intégrer python à la version de bureau d'office, ils sont à la ramasse
3  1 
Avatar de RenarddeFeu
Membre averti https://www.developpez.com
Le 18/09/2024 à 20:39
En bref : une énième usine à gaz à base de cloud, propriétaire de surcroît. Je passe mon tour !
2  1 
Avatar de Jules34
Membre émérite https://www.developpez.com
Le 19/09/2024 à 11:07
Est-ce que quelqu'un ici à une utilisation concrète ?

Je vois bien quelques utilisations pour l'univers comptable/finance ou je bosse mais c'est déjà possible de le faire sans utiliser du Python...
2  1 
Avatar de petitours
Membre chevronné https://www.developpez.com
Le 19/09/2024 à 13:41
Celui qui a mis un pouce vers le bas à ce que je viens de dire peut il développer comment il arrive à ne pas considérer VBA comme un langage très vieux , peu performant (en l'occurrence à l’exécution comme au développement) et mal fichu (surtout au niveau de dev) ?
Je pratique toutes les semaines VBA dans access et ponctuellement dans Excel. Ces outils (Excel et Acess) sont formidables de productivité, ceci ne serait pas possible sans le VBA mais j'ai du mal à voir comment on peut objectivement ne pas considérer VBA comme un vieux machin qui n'évolue plus, y compris sur l'ide mal fichu, depuis des lustre.
1  0 
Avatar de petitours
Membre chevronné https://www.developpez.com
Le 21/09/2024 à 20:04
Citation Envoyé par Comak Voir le message
S'ils ne sont pas capable de mettre python dans la version bureau d'Office, c'est soit qu'Office est pourri, soit qu'ils sont des manches du développement logiciel. Aucun des deux cas n'est rassurant.

Sérieusement, utiliser pandas ou nltk pour cleaner du texte... c'est parce qu'ils ont une interface utilisateur vraiment pourrie.
Ce n'est pas parce qu'ils ont volonté commerciale de capturer tout le monde sur le cloud qu'ils ne sont pas capables de faire une app desktop très bien.

Citation Envoyé par Comak Voir le message
Vous avez déjà fait les exports csv d'Excell?
Oui, plusieurs fois par jours, quasiment tous les jours ouvrés de l'année et ça fonctionne super bien.
1  0 
Avatar de Basiqueur
Membre du Club https://www.developpez.com
Le 19/09/2024 à 11:46
Citation Envoyé par Jules34 Voir le message
Est-ce que quelqu'un ici à une utilisation concrète ?

Je vois bien quelques utilisations pour l'univers comptable/finance ou je bosse mais c'est déjà possible de le faire sans utiliser du Python...
Le but est autant de faciliter la vie de l'utilisateur que de proposer des nouveautés jusqu'alors infaisables.
On peut faire beaucoup de choses avec Vba mais ce langage est vieux, peu performant et n'a connu aucune évolution majeure depuis des lustres.

Si tu veux par exemple filtrer une variable tableau en Vba, il va te falloir :
- créer une nouvelle variable tableau
- boucler sur l'ensemble des lignes de la variable initiale
- vérifier le respect de tes conditions de filtrer pour chaque ligne
- copier les données d'une variable à l'autre
- redimensionner la variable de destination à chaque itération
etc.....

Au final il te faudra écrire plusieurs dizaines de lignes de codes qui mettront un temps conséquent à s'exécuter. Alors qu'en python ça se fait en une seule ligne et probablement en moins d'une seconde.

Et ce n'est qu'un exemple sur une opération assez basique. Niveau création d'interface utilisateur, cela devient une vraie usine à gaz en Vba si on veut vraiment bien faire les choses. Certaines bibliothèques python ont vraiment un gros plus à apporter dans ce domaines.

Sur le papier tout ça semble vraiment intéressant mais la méthode d'intégration ne va sans doute pas faciliter l'adoption.
2  2 
Avatar de Comak
Nouveau membre du Club https://www.developpez.com
Le 21/09/2024 à 19:08
S'ils ne sont pas capable de mettre python dans la version bureau d'Office, c'est soit qu'Office est pourri, soit qu'ils sont des manches du développement logiciel. Aucun des deux cas n'est rassurant.

Sérieusement, utiliser pandas ou nltk pour cleaner du texte... c'est parce qu'ils ont une interface utilisateur vraiment pourrie. Vous avez déjà fait les exports csv d'Excell?
0  1 
Avatar de petitours
Membre chevronné https://www.developpez.com
Le 19/09/2024 à 13:09
Citation Envoyé par Jules34 Voir le message
Est-ce que quelqu'un ici à une utilisation concrète ?

Je vois bien quelques utilisations pour l'univers comptable/finance ou je bosse mais c'est déjà possible de le faire sans utiliser du Python...
déjà possible mais avec un langage très vieux, peu performant et mal fichu, ce qui n'est pas le cas de python.
Accessoirement ça donne accès à tout ce que sait faire python, la liste est longue.
1  3