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

872PARTAGES

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.


Voi...
La fin de cet article est réservée aux abonnés. Soutenez le Club Developpez.com en prenant un abonnement pour que nous puissions continuer à vous proposer des publications.

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 émérite 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 émérite 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 émérite 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