L’intégration de Python dans Excel permet maintenant d’analyser et de modifier des images directement dans vos feuilles de calcul

Guide complet : Analyser et modifier des images avec Python dans Excel

Introduction

Microsoft a récemment introduit une fonctionnalité révolutionnaire qui permet d’analyser et de modifier des images directement dans Excel grâce à l’intégration de Python. Cette nouvelle capacité transforme Excel en un outil puissant de traitement d’images, éliminant le besoin d’utiliser des logiciels externes pour des tâches d’analyse d’images de base. L’utilisateur peut désormais manipuler, analyser et extraire des informations d’images directement dans ses feuilles de calcul, que ce soit sur Windows, Mac ou via la version web d’Excel.

Matériel et prérequis nécessaires

Configuration système requise

  • Windows : Version 2509 ou ultérieure
  • Mac : Version 16.101 ou ultérieure
  • Excel Web : Déploiement en cours
  • Accès à Python dans Excel (fonctionnalité Microsoft 365)

Bibliothèques Python recommandées

  • Pillow (PIL) – Bibliothèque principale pour le traitement d’images
  • NumPy – Pour les opérations sur les tableaux
  • SciPy – Pour les filtres et traitements avancés

Étape 1 : Insertion d’une image dans Excel

La première étape consiste à insérer l’image que l’on souhaite analyser dans une cellule Excel.

  1. Ouvrir le fichier Excel dans lequel on souhaite travailler
  2. Sélectionner la cellule de destination (par exemple A1)
  3. Naviguer vers Insertion > Illustrations > Images
  4. Choisir “Placer dans la cellule”
  5. Sélectionner l’image depuis l’ordinateur ou une source en ligne
  6. Confirmer l’insertion
LIRE AUSSI  Visualiser les données géographiques avec des cartes 3D dans Excel

Important : L’image doit être placée dans une cellule spécifique pour pouvoir être référencée par le code Python.

Étape 2 : Configuration des paramètres d’image

Pour optimiser les performances et éviter les erreurs de limite de données, il est recommandé d’ajuster les paramètres de taille d’image.

  1. Aller dans Fichier > Options > Avancé
  2. Localiser la section “Lors du calcul de ce classeur > Python dans Excel”
  3. Sélectionner la taille d’image appropriée :
    • Taille réelle : Pour une qualité maximale
    • Grande (1280×960) : Pour un bon équilibre qualité/performance
    • Moyenne (640×480) : Pour un traitement rapide
    • Petite (320×240) : Pour des analyses simples
  4. Appliquer les modifications

Étape 3 : Création du code Python pour l’analyse d’image

Initialisation du code Python

  1. Sélectionner une cellule vide pour le code Python
  2. Taper =PY() dans la cellule
  3. Appuyer sur Entrée pour ouvrir l’éditeur de code Python

Code de base pour l’analyse de netteté

Voici un exemple de code pour analyser si une image est nette ou floue :

from PIL import Image
import numpy as np
from scipy.signal import convolve2d

Convertir l'image en niveaux de gris et en tableau

image = xl("A1") arr = np.array(image.convert("L"), dtype=np.float32)

Appliquer le filtre Laplacien

laplacian = convolve2d(arr, [[0, 1, 0], [1, -4, 1], [0, 1, 0]], mode='same', boundary='symm')

Classifier selon la variance

"Floue" if np.var(laplacian) < 100 else "Nette"
  1. Copier le code dans l’éditeur Python
  2. Appuyer sur Ctrl+Entrée pour exécuter le code
  3. Le résultat s’affichera dans la cellule

Étape 4 : Manipulation avancée des images

Conversion en niveaux de gris

from PIL import Image

Charger l'image

image = xl("A1")

Convertir en niveaux de gris

gray_image = image.convert("L")

Retourner l'image convertie

gray_image

Ajustement de la luminosité

from PIL import Image, ImageEnhance

Charger l'image

image = xl("A1")

Créer un objet d'amélioration de luminosité

enhancer = ImageEnhance.Brightness(image)

Ajuster la luminosité (1.0 = normale, >1.0 = plus lumineux, <1.0 = plus sombre)

bright_image = enhancer.enhance(1.5) bright_image

Redimensionnement d’image

from PIL import Image

Charger l'image

image = xl("A1")

Redimensionner l'image

resized_image = image.resize((800, 600)) resized_image

Étape 5 : Extraction de métadonnées

L’extraction de métadonnées permet d’obtenir des informations détaillées sur l’image.

from PIL import Image
from PIL.ExifTags import TAGS

Charger l'image

image = xl("A1")

Extraire les métadonnées EXIF

exifdata = image.getexif()

Créer un dictionnaire des métadonnées

metadata = {} for tag_id in exifdata: tag = TAGS.get(tag_id, tag_id) data = exifdata.get(tag_id) metadata[tag] = data

Retourner les informations de base

f"Taille: {image.size}, Mode: {image.mode}, Format: {image.format}"

Étape 6 : Traitement en lot d’images

Pour traiter plusieurs images simultanément, on peut utiliser une approche systématique.

  1. Placer les images dans des cellules consécutives (A1, A2, A3, etc.)
  2. Créer un code Python qui itère sur ces cellules
  3. Appliquer le même traitement à toutes les images
from PIL import Image
import numpy as np

Liste pour stocker les résultats

results = []

Traiter les images de A1 à A5

for i in range(1, 6): try: cell_ref = f"A{i}" image = xl(cell_ref)

Analyser la taille de l'image

width, height = image.size total_pixels = width * height results.append(f"Image {i}: {width}x{height} ({total_pixels} pixels)") except: results.append(f"Image {i}: Erreur ou cellule vide")

Retourner tous les résultats

"n".join(results)

Étape 7 : Gestion des erreurs et optimisation

Gestion des erreurs courantes

  1. Erreur de limite de données : Réduire la taille de l’image dans les paramètres
  2. Image non trouvée : Vérifier que l’image est bien placée dans la cellule référencée
  3. Erreur de format : S’assurer que le fichier est un format d’image supporté
LIRE AUSSI  Comment exploiter la fonction GROUPBY dans Excel

Code avec gestion d’erreurs

from PIL import Image
import numpy as np

try:
    

Charger l'image

image = xl("A1")

Vérifier si l'image existe

if image is None: result = "Aucune image trouvée dans la cellule A1" else:

Effectuer l'analyse

width, height = image.size result = f"Image analysée: {width}x{height} pixels" except Exception as e: result = f"Erreur: {str(e)}" result

Étape 8 : Applications pratiques avancées

Détection de couleurs dominantes

from PIL import Image
import numpy as np
from collections import Counter

Charger l'image

image = xl("A1")

Convertir en mode RGB si nécessaire

if image.mode != 'RGB': image = image.convert('RGB')

Redimensionner pour accélérer le traitement

image = image.resize((150, 150))

Obtenir les couleurs

colors = image.getcolors(maxcolors=256256256)

Trouver la couleur dominante

if colors: dominant_color = max(colors, key=lambda item: item[0]) rgb = dominant_color[1] f"Couleur dominante: RGB({rgb[0]}, {rgb[1]}, {rgb[2]})" else: "Impossible de déterminer la couleur dominante"

Ajout de filigrane

from PIL import Image, ImageDraw, ImageFont

Charger l'image principale

image = xl("A1")

Créer une copie pour modification

watermarked = image.copy()

Créer un objet de dessin

draw = ImageDraw.Draw(watermarked)

Ajouter le texte de filigrane

text = "© Mon Entreprise 2025" position = (50, 50)

Dessiner le texte (couleur blanche avec transparence)

draw.text(position, text, fill=(255, 255, 255, 128)) watermarked

Conclusion

L’intégration de Python dans Excel pour le traitement d’images représente une avancée significative qui transforme Excel en un outil polyvalent de traitement d’images. Cette fonctionnalité est particulièrement utile pour les professionnels qui travaillent avec de grandes quantités d’images et ont besoin de les traiter en lot.

Les principales applications incluent l’analyse de qualité d’images, la modification de propriétés visuelles, l’extraction de métadonnées, et le traitement automatisé. Cette intégration élimine le besoin d’utiliser des logiciels externes pour des tâches de traitement d’images de base à intermédiaire.

LIRE AUSSI  Découvrez la fonction AI dans Google Sheets

Il est important de noter que cette fonctionnalité est actuellement disponible pour les utilisateurs ayant accès à Python dans Excel et utilisant les versions spécifiées. Pour les utilisateurs d’Excel Web, le déploiement est en cours et devrait être disponible prochainement.

Cette innovation ouvre de nouvelles possibilités pour l’analyse de données visuelles directement dans l’environnement familier d’Excel, rendant le traitement d’images plus accessible aux utilisateurs qui ne sont pas nécessairement experts en programmation ou en traitement d’images.

Rédactrice spécialisée en édition de site. Formation de journaliste et passionnée par les nouvelles technologies, l’intelligence artificielle et la rédaction web.

Laisser un commentaire