C'est quoi Python dans Excel ?
Python dans Excel te permet d'écrire et d'exécuter du code Python directement dans une cellule, grâce à la fonction =PY(). Tu tapes ton code, tu valides, et le résultat (un nombre, un tableau, un graphique) revient dans la feuille comme s'il s'agissait d'une formule.
La particularité, c'est que ce code ne s'exécute pas sur ton ordinateur. Il part vers les serveurs cloud de Microsoft, s'y exécute dans un environnement sécurisé qui contient déjà les bibliothèques d'analyse les plus courantes comme pandas, numpy, matplotlib et seaborn, puis le résultat redescend dans ta cellule. Tu n'as donc rien à installer ni à configurer.
Là où c'est intéressant, c'est que Python ouvre des possibilités que les formules Excel atteignent difficilement, puisqu'il sait faire des statistiques avancées, des visualisations soignées comme les nuages de points ou les cartes de chaleur, des traitements sur de gros volumes, voire des modèles de machine learning. Et tout cela sans quitter le confort de ta feuille de calcul ni basculer vers un autre logiciel.
Qui peut l'utiliser aujourd'hui
Avant de te lancer, le premier réflexe est de vérifier que tu y as bien accès, parce que Python dans Excel n'est pas offert à toutes les versions du logiciel.
Il est réservé aux abonnements Microsoft 365, et il n'existe pas dans les éditions à licence perpétuelle comme Excel 2021, 2019 ou 2016.
Avec un abonnement Microsoft 365, tu y as droitLa fonctionnalité tourne sur Excel pour Windows, Excel pour Mac et Excel pour le web, et la fonction PY() apparaît dans l'onglet Formules dès que ton compte y a droit. Le déploiement s'est fait par vagues depuis 2023, donc tout le monde ne l'a pas reçue au même moment.
Sans abonnement, la fonction reste absenteExcel 2021, 2019, 2016 et les éditions perpétuelles ne proposent pas Python. Si tu ne vois pas « Insérer Python » dans l'onglet Formules, c'est que ta version ne le gère pas encore, et aucune option ne le débloque dans ces éditions.
Garde aussi en tête que certaines fonctionnalités avancées, comme des bibliothèques supplémentaires ou des exécutions plus longues, peuvent dépendre du type d'abonnement et relever d'options payantes. Pour un usage courant, manipuler des données et tracer des graphes, l'accès Microsoft 365 standard suffit largement.
Écrire ta première cellule Python
Le passage en mode Python se fait en quatre temps, et l'essentiel à retenir tient en une phrase, puisque tu restes dans une cellule mais tu y écris du Python au lieu d'une formule.
Comment écrire ta première cellule Python en 4 étapes
- 1
Bascule la cellule en mode Python. Sélectionne une cellule, va dans l'onglet Formules puis « Insérer Python », ou tape simplement =PY( pour passer la cellule en mode Python. Un badge vert « PY » apparaît alors en haut à gauche de la cellule.
- 2
Écris ton code et pointe une plage avec xl(). Tu écris du Python directement dans la cellule. Pour faire référence à une plage Excel, utilise xl("A1:C100", headers=True), et Excel convertit la plage en DataFrame pandas. Maj + Entrée crée un retour à la ligne dans le code sans valider.
- 3
Valide avec Ctrl + Entrée pour lancer le calcul. Le code part vers le cloud Microsoft, s'exécute, et le résultat revient. Par défaut, Excel affiche un objet Python, c'est-à-dire un aperçu replié. Clique sur l'icône à gauche de la cellule pour basculer entre « Objet Python » et « Valeur Excel », le résultat déversé dans les cellules.
- 4
Choisis ta sortie selon l'usage. Un DataFrame peut rester un objet compact, pratique pour le réutiliser dans une autre cellule PY(), ou se déverser en valeurs Excel classiques. Une fois déversé en lignes et colonnes, tu le tries, le filtres et le mets en forme comme n'importe quelle plage.

Concrètement, une première cellule Python ressemble à ceci, avec l'import de pandas, la récupération d'un tableau Excel et un aperçu des premières lignes.
# Dans une cellule en mode PY :
import pandas as pd
# Récupérer un tableau Excel sous forme de DataFrame
df = xl("Ventes[#All]", headers=True)
# Afficher les 5 premières lignes
df.head()xl() marie Excel et Python : elle prend une référence de plage ou de tableau et la convertit en DataFrame pandas, ce qui fait passer tes données d'un monde à l'autre sans le moindre copier-coller. Tu peux aussi écrire xl("A1:C100", headers=True) pour une plage classique avec en-têtes.Manipuler les données avec pandas
pandas est la bibliothèque Python de référence pour travailler des données tabulaires. Son objet central, le DataFrame, ressemble à s'y méprendre à un tableau Excel, avec ses colonnes nommées, ses types et ses lignes. Une fois ce réflexe en place, quatre opérations couvrent l'essentiel de ce que tu feras au quotidien.
Charger un tableau Excel dans un DataFramedf = xl("Ventes[#All]", headers=True) place ton tableau Excel dans un DataFrame nommé df, prêt à être interrogé en quelques lignes. C'est le point de départ de presque toutes tes cellules Python, puisque tout le reste s'enchaîne à partir de là.
Filtrer les lignes selon une conditiondf[df["Montant"] > 1000] ne garde que les lignes dont le montant dépasse 1000. La syntaxe paraît dense au début, mais elle remplace avantageusement les filtres manuels, puisqu'elle reste reproductible à chaque réexécution du code sans toucher à la souris.
Grouper et agréger comme un tableau croisédf.groupby("Region")["Montant"].sum() calcule le chiffre d'affaires par région en une seule ligne. Tu retrouves l'équivalent d'un tableau croisé dynamique, à la différence près que c'est scriptable et librement combinable avec d'autres traitements statistiques.
Explorer un jeu de données d'un coup d'œildf.describe() sort les statistiques clés de chaque colonne numérique, à savoir la moyenne, l'écart-type, le minimum, le maximum et les quartiles. C'est idéal pour prendre la température d'un jeu de données avant de l'analyser en détail.
En pratique, ces opérations se chaînent. L'exemple ci-dessous filtre les montants positifs, regroupe par région, additionne, puis trie du plus élevé au plus faible.
import pandas as pd
df = xl("Ventes[#All]", headers=True)
# Chiffre d'affaires par région, du plus élevé au plus faible
ca_region = (
df[df["Montant"] > 0]
.groupby("Region")["Montant"]
.sum()
.sort_values(ascending=False)
)
ca_regionVisualiser avec matplotlib et seaborn
C'est l'un des points forts de Python dans Excel, puisqu'il produit des graphiques que les outils natifs d'Excel ne savent pas faire facilement. Les bibliothèques matplotlib et seaborn sont déjà disponibles, et le graphe revient directement dans ta cellule sous forme d'image.
Un histogramme en trois lignes
seaborn produit des graphes soignés avec très peu de code, comme cette distribution des montants de vente obtenue en trois lignes à peine.
import seaborn as sns
df = xl("Ventes[#All]", headers=True)
sns.histplot(df["Montant"], bins=20)Le graphe apparaît comme une image dans la cellule. Tu peux l'extraire « sur la grille » pour le redimensionner et le déplacer comme une image classique. Au-delà de l'histogramme, seaborn dessine des nuages de points, des matrices de corrélation, des box plots, des cartes de chaleur, tous très lisibles dès la première tentative.
Faire circuler les données entre Excel et Python
Tout l'intérêt tient dans cet aller-retour fluide, puisque Excel fournit les données, Python les traite, et Excel récupère le résultat. Deux directions sont à connaître.
D'Excel vers Python, la fonction xl() fait le pontPointe une plage ou un tableau avec xl("Ventes[#All]", headers=True), et Python reçoit un DataFrame pandas prêt à l'emploi. Si les données Excel changent, le code se réexécute automatiquement et le résultat se met à jour sans intervention.
De Python vers Excel, tu choisis entre objet et valeursLe résultat d'une cellule PY() peut rester un objet Python compact, pratique pour le réutiliser dans une autre cellule PY(), ou se déverser en valeurs Excel classiques que tu tries, filtres et mets en forme comme n'importe quelle plage. Le choix se fait via l'icône à gauche de la cellule, sans réécrire le code.
Python, formules ou Power Query, comment choisir
Les trois cohabitent dans un même classeur, et tu n'as pas à les opposer. Voici comment trancher selon ce que tu cherches vraiment à faire.
Les formules, pour le calcul interactif et rapideQuand le résultat doit réagir instantanément à chaque saisie, rester entièrement sur ta machine et se lire d'un coup d'œil, les formules gardent l'avantage. Avec SOMME.SI.ENS, RECHERCHEX ou SI, tu es sur le terrain naturel d'Excel, et rien ne le détrône sur la réactivité.
Power Query, pour importer et nettoyer en boucleQuand tu reçois régulièrement des données externes à nettoyer et structurer de la même façon, Power Query enregistre les étapes une fois et les rejoue à chaque actualisation sans écrire la moindre ligne de code, ce qui en fait l'outil idéal du nettoyage répétable.
Python, pour l'analyse poussée et la visualisationQuand tu as besoin de statistiques avancées, de graphiques que les formules ne savent pas produire ou de modèles de machine learning, Python prend le relais là où Excel atteint ses limites, au prix d'un aller-retour vers le cloud qui reste invisible dans la plupart des usages courants.
Les limites à connaître avant de te lancer
Python dans Excel est puissant, mais dès lors que le code tourne dans le cloud plutôt que sur ta machine, des contraintes bien réelles s'imposent.
Mieux vaut les connaître avant de bâtir un classeur entier autour de cette fonctionnalité, parce qu'elles touchent à des points que les formules classiques ne posent jamais.
Une connexion Internet est obligatoireLe code s'exécute sur les serveurs Microsoft, donc sans connexion aucune cellule PY() ne fonctionne. Tes calculs Python dépendent de ta connectivité, là où une formule classique tourne toujours, même hors ligne.
La vitesse reste en retraitChaque exécution fait un aller-retour vers le cloud, plus lent qu'une formule locale. Pour quelques cellules, c'est invisible, mais sur un classeur saturé de cellules PY() la latence finit par s'accumuler. Réserve Python aux analyses ponctuelles, pas aux calculs qui doivent réagir en temps réel.
La confidentialité mérite un vrai contrôleLes données nécessaires au calcul transitent par les serveurs Microsoft. Pour des informations sensibles, qu'elles soient RH, financières ou personnelles, vérifie la politique de ton organisation avant d'utiliser Python. C'est la différence majeure avec les formules, qui restent sur ta machine.
Et voilà, tu arrives au bout du parcours. Tu as démarré sur les toutes premières cellules d'Excel, et tu repars en sachant lancer du Python dans une feuille de calcul, manipuler un DataFrame pandas et tracer un graphe que les outils natifs ne savent pas produire.
Le vrai déclic viendra en pratiquant, alors ouvre un de tes classeurs, lance une première cellule PY() et triture tes propres données. Tu peux aussi repasser à tout moment par le sommaire du cours pour réviser une notion ou par le dictionnaire des fonctions dès qu'une formule te manque.









