Cours
Si vous avez déjà passé trop de temps à trier des formules ou à faire défiler des lignes interminables de données dans Excel, vous n'êtes pas seul. Il s'agit d'un outil fiable pour le traitement quotidien des données, en particulier dans le domaine professionnel. Cependant,
Lorsque vos ensembles de données deviennent plus volumineux et que vos analyses se complexifient, Excel peut commencer à montrer ses limites. Les performances diminuent et les tâches telles que l'analyse avancée ou l'automatisation deviennent complexes.
Une fonctionnalité moins connue est qu'Excel inclut une prise en charge intégrée de Python. Vous pouvez écrire du code Python directement dans votre feuille de calcul et vous n'avez pas besoin de basculer entre Excel et un IDE tel que Spyder. Cela ouvre la voie à de meilleurs graphiques, à des analyses plus rapides et à une automatisation plus flexible, mais uniquement si vous parvenez à exploiter Python dans Excel et si vous ne rencontrez pas de bugs ou d'autres problèmes frustrants.
Cet article nécessite quelques connaissances en Python. Si vous débutez avec Python, je vous recommande de consulter nos cours très pertinents : Introduction à l'importation de données dans Python et Python pour les utilisateurs de tableurs. Enfin, je voudrais ajouter que
Cet article explique comment utiliser Python dans Excel pour améliorer vos feuilles de calcul. Si vous souhaitez travailler en dehors d'Excel (à l'aide de scripts Python pour lire, écrire et manipuler directement des fichiers Excel), je vous recommande également de lire notre tutoriel Python Excel qui traite ce sujet en détail.
Pourquoi Python est utile dans Excel
Avant d'aborder la configuration et la syntaxe, examinons pourquoi cette intégration est importante. Vous avez probablement déjà utilisé Excel pour effectuer des calculs rapides, créer des tableaux ou des graphiques. Cependant, pour des analyses plus avancées, telles que le nettoyage de grands ensembles de données ou la modélisation de tendances, Python dispose d'outils que Excel ne propose pas.
Accès aux bibliothèques préchargées
Python dans Excel est fourni par défaut avec la distribution Anaconda, ce qui vous permet d'accéder directement à des bibliothèques populaires telles que pandas, NumPy, Seaborn, Matplotlib et scikit-learn. Ces outils sont utiles lorsque vous travaillez avec des tableaux, visualisez des modèles ou formez des modèles. Une fois préchargés, vous pouvez passer directement à l'analyse sans avoir à installer quoi que ce soit d'autre.
Vous pouvez également consulterle tutoriel Python Excel pourapprendre à utiliser Python afin d'écrire et de manipuler des feuilles de calcul Excel depuis l'extérieur d'Excel.
Exécution et collaboration basées sur le cloud
Lorsque vous utilisez Python dans Excel, le code Python s'exécute dans des conteneurs sécurisés sur Microsoft Azure. Par conséquent, vous n'avez pas besoin d'installer ou de mettre à jour Python sur votre ordinateur. De plus, les performances s'adaptent à la charge de travail, permettant ainsi de traiter même des ensembles de données volumineux. La collaboration en équipe est simplifiée grâce à des résultats cohérents et partageables, ainsi qu'à l'enregistrement de l'ensemble du code et des résultats dans un classeur centralisé.
Sécurité et conformité pour les utilisateurs professionnels
Microsoft a intégré Python dans Excel en tenant compte des considérations de sécurité. Votre code s'exécute dans un environnement isolé, totalement séparé de votre appareil ou de votre réseau. Cette fonctionnalité est entièrement conforme au RGPD et aux autres réglementations, et les données restent au sein de votre organisation.
Premiers pas avec Python dans Excel
Python dans Excel est uniquement disponible via les abonnements Microsoft 365 pour les utilisateurs Windows. La version préliminaire est actuellement disponible pour macOS et le Web.
Activation et configuration
Pour activer Python dans Excel, veuillez vous rendre dans le menu Formules et activez l'option Insérer Python .

Étant donné que Python dans Excel utilise un environnement Anaconda intégré, il n'est pas nécessaire d'installer manuellement différentes bibliothèques.
Vérification de l'environnement
Une fois activée, vous verrez apparaître une cellule contenant la formule : =PY(). Vous pouvez écrire du code Python à l'intérieur de cette fonction, puis utiliser Ctrl+Entrée pour exécuter le code.

Vous pouvez tester la configuration en exécutant ce code : =PY("print('Hello, Excel')").

Si vous débutez avec Python ou si vous avez besoin d'aide, Copilot peut vous guider en vous suggérant du code, en corrigeant les erreurs ou en vous expliquant comment structurer votre analyse.
Analyses et visualisation plus avancées
Python élargit considérablement les capacités traditionnelles d'Excel en matière d'analyse et de visualisation des données. Vous pouvez désormais effectuer des analyses avancées avec des visuels complexes grâce à cette intégration.
Visualisations avancées avec Matplotlib et Seaborn
Vous connaissez probablement les graphiques intégrés à Excel, tels que les graphiques à barres ou circulaires. Ils sont rapides et faciles à utiliser pour les visuels standard. Cependant, lorsque vous avez besoin d'un contrôle accru, par exemple pour combiner des types de graphiques ou superposer des données, Python vous offre davantage de flexibilité.
Supposons que vous disposiez d'une plage de données contenant les données des employés et que vous souhaitiez connaître le salaire moyen par service. Vous pouvez utiliser le code suivant, saisi dans une cellule Excel, pour représenter graphiquement cette représentation. Veuillez noter ici que la fonction « xl() » relie les cellules Excel à votre code Python.
import pandas as pd
import matplotlib.pyplot as plt
# Read the named range directly as a DataFrame
employee_data = xl("Employee[#All]", headers=True)
# Clean column names
employee_data.columns = employee_data.columns.str.strip()
# Convert numeric columns
employee_data["Age"] = pd.to_numeric(employee_data["Age"])
employee_data["YearsExperience"] = pd.to_numeric(employee_data["YearsExperience"])
employee_data["Salary"] = pd.to_numeric(employee_data["Salary"])
# Group by Department
grouped_data = employee_data.groupby("Department").agg({
"Name": "count",
"Salary": "mean"
}).rename(columns={"Name": "Headcount", "Salary": "AvgSalary"})
# Plot: Bar for headcount, Line for salary
fig, ax1 = plt.subplots(figsize=(10, 6))
# Bar chart for headcount
bars = ax1.bar(grouped_data.index, grouped_data["Headcount"], color="#00C74E", label="Headcount")
ax1.set_ylabel("Number of Employees", color="#00C74E")
ax1.set_xlabel("Department")
ax1.tick_params(axis='y', labelcolor="#00C74E")
# Line chart for average salary
ax2 = ax1.twinx()
line = ax2.plot(grouped_data.index, grouped_data["AvgSalary"], color="#0A66C2", marker="o", label="Avg Salary")
ax2.set_ylabel("Average Salary", color="#0A66C2")
ax2.tick_params(axis='y', labelcolor="#0A66C2")
# Title and layout
plt.title("Department Headcount vs. Average Salary")
fig.tight_layout()
plt.show()
Le graphique ci-dessous s'affichera à la suite de l'exécution de ce code et se mettra à jour automatiquement lorsque vous saisirez de nouvelles données dans la plage.

Modélisation statistique et prédictive plus approfondie
Python vous permet également de réaliser des modélisations statistiques. Vous pouvez utiliser scikit-learn pour la régression ou la classification, et statsmodels pour les résumés statistiques.
Voici un exemple d'utilisation de Python dans Excel pour analyser les données relatives aux employés :
import pandas as pd
from scipy.stats import linregress
# Read data from Excel table
employee_data = xl("Employee[#All]", headers=True)
# Clean column names
employee_data.columns = employee_data.columns.str.strip()
# Convert relevant columns to numeric
employee_data["Age"] = pd.to_numeric(employee_data["Age"])
employee_data["YearsExperience"] = pd.to_numeric(employee_data["YearsExperience"])
employee_data["Salary"] = pd.to_numeric(employee_data["Salary"])
# 1️. Summary statistics
summary = employee_data[["Age", "YearsExperience", "Salary"]].describe()
print("📊 Summary Statistics:\n", summary)
# 2️. Average salary by gender
gender_salary = employee_data.groupby("Gender")["Salary"].mean()
print("\n💰 Average Salary by Gender:\n", gender_salary)
# 3️. Correlation between experience and salary
correlation = employee_data["YearsExperience"].corr(employee_data["Salary"])
print(f"\n📈 Correlation (Experience vs Salary): {correlation:.3f}")

Je vous recommande de suivre notre cours Pandas Joins pour les utilisateurs de feuilles de calcul afin d'apprendre à utiliser Pandas pour effectuer des analyses avancées dans des ensembles de données complexes.
Codage en langage naturel avec Copilot
Si vous n'êtes pas familier avec l'écriture de code Python, vous pouvez utiliser Copilot comme assistant IA. Avec Copilot, vous pouvez décrire la tâche que vous souhaitez effectuer dans un langage simple et laisser l'assistant s'en charger pour vous. Copilot vous permet d'accéder à différentes fonctionnalités de Python dans Excel avec un minimum de connaissances techniques.
Considérations relatives à la prise en charge de la plateforme et aux licences
Python dans Excel est toujours en cours de développement et sa disponibilité dépend de la plateforme que vous utilisez.
Plateformes prises en charge
Voyons où Python dans Excel est pris en charge et quellessont les limitationséventuelles.
|
Catégorie |
Résumé |
|
Windows |
Assistance complète pour les utilisateurs Enterprise et Business (version 2408 et ultérieure). Aperçu pour les utilisateurs familiaux et personnels (version 2405+). |
|
macOS |
Prise en charge pour les utilisateurs Enterprise et Business (version 16.96 et ultérieure). Aperçu pour les utilisateurs familiaux et personnels via le programme Insider (version 16.95+). |
|
Excel pour le Web |
Disponible pour les utilisateurs Enterprise et Business. Aperçu pour les utilisateurs familiaux et personnels. |
|
Utilisateurs dans le domaine de l'éducation |
Accédez à un aperçu grâce au programme Microsoft 365 Insider. |
|
Projets d'expansion |
Déploiement progressif, en commençant par Windows et le Web. |
|
Bibliothèques personnalisées |
Seules les bibliothèques Anaconda préchargées telles que pandas, NumPy, Matplotlib et scikit-learn sont prises en charge. Les paquets personnalisés ne peuvent pas être installés. |
|
Accès hors ligne |
Non disponible. Le code Python s'exécute dans le cloud de Microsoft, et une connexion Internet est nécessaire pour exécuter ou actualiser les cellules Python. |
Conditions d'utilisation et conformité
Les fonctionnalités Python sont uniquement disponibles dans les offres commerciales Microsoft 365 et nécessitent une licence d'organisation. Pour les utilisateurs professionnels, Microsoft répond aux principaux besoins en matière de conformité, notamment les contrôles de résidence des données, la conformité au RGPD et le sandboxing sécurisé. Cette fonctionnalité en fait une option intéressante, même pour les équipes soumises à des exigences réglementaires strictes.
Limitations actuelles et solutions de contournement
Vous découvrirez également que Python dans Excel présente certains inconvénients qui peuvent limiter son utilisation.
Contraintes spécifiques à la plateforme
Je vous recommande de garder à l'esprit les points suivants lorsque vous utilisez cette fonctionnalité :
- Connexion Internet requise : Python fonctionne dans le cloud, une connexion Internet est donc nécessaire.
- Accès aux fichiers locaux impossible : Python dans Excel ne peut pas accéder aux fichiers, périphériques ou réseau de votre ordinateur local. Cela limite son utilisation aux classeurs actuels sans connexion à des bases de données locales ou à des API externes.
- Bibliothèques personnalisées limitées : Il n'est pas possible d'installer vos propres paquets ou bibliothèques Python. Python dans Excel ne donne accès qu'à un ensemble de bibliothèques préinstallées provenant de la distribution Anaconda. Pour des besoins avancés, veuillez utiliser des outils tels que Jupyter Notebooks, PyXLL, xlwings ou des compléments Excel.
- Contrôle des calculs : Lorsque vous modifiez une cellule, toutes les formules Python de tous les onglets de votre classeur peuvent être recalculées, ce qui peut ralentir le processus et consommer inutilement votre quota. Vous pouvez sélectionner « Calcul manuel » ou « Partiel » pour modifier la fréquence des mises à jour automatiques.
Débogage et gestion des erreurs
Veuillez prendre en considération ces conseils pour résoudre les bugs ou les fonctionnalités incomplètes :
- Comprenez les messages d'erreur : De nombreux problèmes découlent d'erreurs de syntaxe ou de problèmes de référencement.
- Problèmes de dépendance : Veuillez toujours utiliser les bibliothèques prises en charge afin d'éviter les erreurs d'importation.
- Soutien communautaire : Pour obtenir de l'aide, veuillez consulter la documentation de Microsoft Python dans Excel ou Anaconda, ainsi que les forums communautaires.
Feuille de route pour l'avenir
Pour tirer le meilleur parti de Python dans Excel, veuillez mettre à jour Excel, explorer les options cloud et locales à mesure qu'elles évoluent et laisser Copilot vous guider dans le codage. Microsoft s'efforce d'étendre la prise en charge de la plateforme, d'ajouter davantage de bibliothèques et d'améliorer l'intégration avec Copilot et GitHub. Il y a donc encore plus à découvrir.
Si vous souhaitez approfondir vos compétences en Excel, je vous recommande de suivre notre cours Analyse de données dans Excel. Ce cours vous permettra de maîtriser les techniques d'analyse avancées et de donner un nouvel élan à votre carrière. Je tiens également à préciser que, bien que nous ayons exploré différentes façons d'utiliser Python directement dans Excel, la meilleure solution consiste parfois à travailler depuis l'extérieur. Si vous souhaitez automatiser des fichiers Excel ou créer des rapports à l'aide de scripts Python, veuillez consulter notre tutoriel Python Excel.
Enfin, si vous travaillez avec Google Sheets, veuillez consulter notre tutoriel sur Google Sheets avec Python, car Python dans Excel et Python dans Google Sheets sont suffisamment différents pour que vous ne puissiez pas transférer vos connaissances d'un programme à l'autre. Cependant, il est utile de connaître les deux.
