Table des matières
- Méthode 1 - Remplacer le texte manuellement avec Rechercher & Remplacer d'Excel
- Méthode 2 - Remplacer le texte par position à l'aide de la fonction REPLACE d'Excel
- Méthode 3 - Remplacer le texte par contenu à l'aide de la fonction SUBSTITUTE d'Excel
- Méthode 4 - Automatiser les remplacements de texte dans Excel avec VBA
- Méthode 5 - Remplacer le texte par lots dans plusieurs fichiers Excel avec Python

Lorsque vous travaillez avec de grands classeurs Excel, des données incohérentes ou obsolètes peuvent rapidement faire dérailler vos rapports et votre prise de décision. Scanner manuellement des milliers de cellules pour corriger des fautes de frappe est non seulement chronophage, mais aussi sujet à des erreurs humaines coûteuses. Maîtriser comment remplacer du texte dans Excel efficacement est une compétence essentielle pour tout professionnel des données.
Dans ce guide complet, nous explorons 5 méthodes pratiques pour remplacer du texte dans Excel - allant de l'outil intégré Rechercher & Remplacer et des formules de feuille de calcul à l'automatisation avancée VBA et Python. Que vous ayez besoin de mettre à jour une seule cellule ou de traiter par lots des centaines de classeurs, nos instructions étape par étape vous aideront à rationaliser votre flux de travail et à garantir l'intégrité des données.
Aperçu des méthodes
- Méthode 1 - Remplacer le texte manuellement avec Rechercher & Remplacer d'Excel
- Méthode 2 - Remplacer le texte par position à l'aide de la fonction REPLACE d'Excel
- Méthode 3 - Remplacer le texte par contenu à l'aide de la fonction SUBSTITUTE d'Excel
- Méthode 4 - Automatiser les remplacements de texte dans Excel avec VBA
- Méthode 5 - Remplacer le texte par lots dans plusieurs fichiers Excel avec Python
Comprendre le remplacement de texte dans Excel
Le remplacement de texte dans Excel n'est pas seulement un changement cosmétique - il peut :
- Corriger des erreurs - corriger des fautes de frappe ou des codes obsolètes.
- Standardiser les formats - unifier les codes produit, les e-mails ou les dates.
- Améliorer l'analyse des données - assurer la cohérence avant les calculs, le filtrage ou les tableaux croisés dynamiques.
- Gagner du temps dans les tâches répétitives - en particulier lors du travail avec de grands ensembles de données ou plusieurs fichiers.
Ci-dessous, nous explorerons 5 façons pratiques de remplacer des données dans Excel.
Méthode 1 - Remplacer le texte manuellement avec Rechercher & Remplacer d'Excel
L'outil intégré Rechercher et remplacer d'Excel est la méthode manuelle la plus efficace pour remplacer du texte dans Excel au sein d'une seule feuille de calcul ou d'un classeur entier. Il est parfait pour les mises à jour rapides et ponctuelles où les formules ou l'automatisation ne sont pas nécessaires.
Comment accéder à l'outil Rechercher et remplacer :
- Raccourci : Appuyez sur Ctrl + H (Windows) ou Commande + Maj + H (Mac).
- Chemin du menu : Allez dans l'onglet Accueil > groupe Édition > Rechercher et sélectionner > Remplacer.
Instructions étape par étape :
-
Ouvrir le classeur : Sélectionnez la feuille de calcul où vous devez effectuer le remplacement de texte.
-
Accéder à l'outil : Utilisez le raccourci ou le chemin du menu pour déclencher la fenêtre Rechercher et remplacer.

-
Saisir les données : Dans la zone Rechercher, tapez le texte ou les nombres spécifiques que vous souhaitez modifier. Dans la zone Remplacer par, tapez votre nouveau contenu.
-
Exécuter le remplacement : Cliquez sur Remplacer pour mettre à jour la sélection actuelle et passer à l'instance suivante, ou sur Remplacer tout pour mettre à jour toutes les instances de la feuille instantanément.
Conseils Pro :
Cliquez sur le bouton Options >> pour débloquer les contrôles avancés :

- Portée de la recherche : Changez le paramètre Dans de Feuille à Classeur pour remplacer le texte dans tous les onglets à la fois.
- Correspondance de modèle : Utilisez des caractères génériques comme * (caractères multiples) ou ? (caractère unique) pour une recherche flexible (par exemple, S*t correspond à la fois à "Smart" et à "Street").
- Contrôle de précision : Activez Respecter la casse pour remplacer uniquement les correspondances exactes ou Cellule entière pour éviter de remplacer accidentellement des parties de mots.
✅ Avantages : Rapide, intuitif et gère également les changements de formatage.
⚠️ Limites : Manuel et répétitif ; ne convient pas au traitement par lots de centaines de fichiers distincts.
Vous pourriez également être intéressé par : 5 façons de renvoyer le texte à la ligne dans Excel.
Méthode 2 - Remplacer le texte par position à l'aide de la fonction REPLACE d'Excel
Lorsque vous avez besoin de remplacer du texte dans Excel en fonction de sa position de caractère plutôt que de son contenu, la fonction REPLACE est le meilleur outil. Cette formule est idéale pour nettoyer des données structurées comme des numéros de téléphone, des codes de série ou des identifiants de produit standardisés.

Syntaxe de la fonction Replace
=REPLACE(ancien_texte, no_début, no_caractères, nouveau_texte)
- ancien_texte : Le texte d'origine (ou la référence de cellule contenant le texte).
- no_début : La position (index) du premier caractère que vous souhaitez remplacer.
- no_caractères : Le nombre total de caractères à supprimer.
- nouveau_texte : Le nouveau texte que vous souhaitez insérer.
Exemple pratique : Masquer des données sensibles
Si vous avez un code de série "123-ABC" dans la cellule A1 et que vous souhaitez changer les trois premiers chiffres en "XXX" :
- Formule :
=REPLACE(A1, 1, 3, "XXX") - Résultat : "XXX-ABC"
Mise en œuvre étape par étape :
-
Sélectionner une cellule : Cliquez sur la cellule où vous souhaitez que le texte mis à jour apparaisse (par exemple, B2).
-
Entrer la formule : Tapez =REPLACE( et sélectionnez la cellule source (par exemple, A2).
-
Définir la plage : Entrez le no_début (où commence le remplacement) et le no_caractères (combien de caractères échanger).
-
Ajouter le nouveau texte : Tapez votre texte de remplacement entre guillemets (par exemple, "XXX").
-
Appliquer à la liste : Appuyez sur Entrée et utilisez la poignée de recopie automatique (le petit carré vert) pour faire glisser la formule vers les autres lignes.

Conseils Pro :
- Combiner avec d'autres fonctions : Utilisez NBCAR() ou CHERCHE() comme no_début pour gérer dynamiquement des chaînes de longueurs variables.
- Gérer les résultats numériques : La fonction REPLACE renvoie toujours du texte. Pour le reconvertir en nombre pour les calculs, ajoutez *1 à la fin de votre formule (par exemple,
=REPLACE(...) * 1). - Imbrication : Vous pouvez imbriquer plusieurs fonctions REPLACE dans une seule formule si vous devez mettre à jour deux positions ou plus différentes à la fois.
✅ Avantages : Parfait pour les données structurées ; assure un contrôle précis sur le remplacement de caractères.
⚠️ Limites : Moins efficace pour les données où le texte cible apparaît à différentes positions dans chaque cellule.
Méthode 3 - Remplacer le texte par contenu à l'aide de la fonction SUBSTITUTE d'Excel
La fonction SUBSTITUTE est l'outil de prédilection lorsque vous devez remplacer du texte dans Excel en fonction d'un contenu spécifique plutôt que de sa position. Ceci est idéal pour corriger des fautes de frappe répétées, mettre à jour des références d'année ou développer des abréviations dans un grand ensemble de données.

Syntaxe de la fonction SUBSTITUTE
=SUBSTITUTE(texte, ancien_texte, nouveau_texte, [no_instance])
- texte : Le texte d'origine (ou la référence de cellule contenant le texte).
- ancien_texte : Le caractère ou le mot spécifique que vous souhaitez modifier.
- nouveau_texte : Le texte que vous souhaitez insérer à la place.
- [no_instance] : (Facultatif) Spécifie quelle occurrence remplacer. S'il est omis, toutes les occurrences sont mises à jour.
Exemple pratique : Mise à jour en masse des années
Si vous devez mettre à jour "Rapport 2023" en "Rapport 2024" dans la cellule A1 :
- Formule :
=SUBSTITUTE(A1, "2023", "2024") - Résultat : "Rapport 2024"
Avancé : SUBSTITUTE imbriqué pour plusieurs mises à jour
Vous pouvez imbriquer plusieurs fonctions SUBSTITUTE pour remplacer plusieurs termes différents dans une seule cellule simultanément. C'est parfait pour convertir des codes abrégés en descriptions complètes :
- Formule :
=SUBSTITUTE(SUBSTITUTE(A2, "PR", "Projet"), "ML", "Jalon") - Résultat : Convertit "PR-01, ML-05" en "Projet-01, Jalon-05".
Mise en œuvre étape par étape :
-
Identifier la cible : Cliquez sur la cellule où vous souhaitez que les données nettoyées apparaissent.
-
Appliquer la formule : Tapez =SUBSTITUTE( et sélectionnez la cellule source.
-
Définir les chaînes de texte : Entrez l'ancien_texte et le nouveau_texte entre guillemets doubles (par exemple, "ancien", "nouveau").
-
Instance facultative : Si vous ne souhaitez remplacer que la deuxième occurrence d'un mot, ajoutez , 2 à la fin avant de fermer la parenthèse.
-
Faire glisser pour appliquer : Appuyez sur Entrée et utilisez la poignée de recopie automatique pour appliquer la formule au reste de votre colonne.

Conseils Pro :
- Sensibilité à la casse : SUBSTITUTE est sensible à la casse. Pour effectuer une recherche insensible à la casse, encapsulez votre référence de cellule dans la fonction MAJUSCULE ou MINUSCULE.
- Supprimer du texte : Pour supprimer complètement un mot spécifique, utilisez une chaîne vide "" comme nouveau_texte.
- Non destructif : Contrairement à Rechercher et remplacer, l'utilisation de formules conserve vos données d'origine intactes dans la colonne source, offrant une meilleure piste d'audit.
✅ Avantages : Excellent pour le remplacement basé sur le contenu ; très flexible avec l'imbrication.
⚠️ Limites : Ne gère pas les changements basés sur la position ; nécessite une colonne d'aide pour stocker les résultats.
Méthode 4 - Automatiser les remplacements de texte dans Excel avec VBA
Lorsque vous devez remplacer du texte dans Excel sur plusieurs feuilles ou gérer des tâches de nettoyage répétitives et à grande échelle, une macro VBA est la solution la plus puissante. Cette méthode vous permet d'automatiser le processus en un seul clic, vous évitant ainsi les erreurs manuelles.
Pourquoi utiliser VBA pour le remplacement ?
- Efficacité : Mettez à jour des centaines de cellules instantanément.
- Cohérence : Assurez-vous que la même logique de remplacement est appliquée à chaque fois.
- Support multi-feuilles : Contrairement aux formules, VBA peut scanner tous les onglets de votre classeur.
Exemple de macro VBA pour remplacer des données dans la feuille Excel active
Copiez et collez le code suivant dans votre éditeur VBA pour remplacer des termes spécifiques dans votre feuille de calcul actuelle :
Sub BatchReplaceText()
Dim ws As Worksheet
Set ws = ActiveSheet
' Définir ce qu'il faut trouver et par quoi remplacer
ws.Cells.Replace What:="AncienTexte", Replacement:="NouveauTexte", _
LookAt:=xlPart, SearchOrder:=xlByRows, MatchCase:=False
MsgBox "Remplacement terminé !", vbInformation
End Sub
Comment exécuter cette macro (étape par étape) :
-
Ouvrir l'éditeur : Appuyez sur Alt + F11 pour ouvrir la fenêtre Visual Basic for Applications.
-
Insérer un module : Allez dans Insertion > Module pour créer un espace de travail vide.
-
Coller le code : Copiez le script ci-dessus et collez-le dans le module. Remplacez "AncienTexte" et "NouveauTexte" par vos données réelles.

-
Exécuter la macro : Appuyez sur F5 ou retournez dans Excel et appuyez sur Alt + F8, sélectionnez BatchReplaceText, puis cliquez sur Exécuter.
Conseils Pro :
- Contrôle de précision : Dans le code ci-dessus, LookAt:=xlPart permet à la macro de remplacer du texte même s'il ne fait partie du contenu d'une cellule (par exemple, changer "App" en "Application" dans "App Store"). Si vous devez remplacer uniquement les cellules qui correspondent exactement à votre texte, changez ce paramètre en LookAt:=xlWhole.
- Sauvegarder d'abord : Contrairement aux formules, les actions VBA ne peuvent pas être annulées (Ctrl+Z). Sauvegardez toujours une copie de sauvegarde de votre fichier avant d'exécuter une macro.
- Parcourir toutes les feuilles : Vous pouvez modifier le code pour parcourir Chaque ws Dans ThisWorkbook.Worksheets pour effectuer un remplacement global.
- Variables de mots-clés : Pour plus de flexibilité, utilisez InputBox pour permettre aux utilisateurs de taper le texte qu'ils souhaitent remplacer chaque fois que la macro s'exécute.
✅ Avantages : Très efficace pour les grands ensembles de données ; automatise les tâches répétitives.
⚠️ Limites : Nécessite que le classeur soit enregistré en tant que classeur Excel prenant en charge les macros (.xlsm) ; ne peut pas être annulé.
Méthode 5 - Remplacer le texte par lots dans plusieurs fichiers Excel avec Python
Pour le plus haut niveau d'automatisation, l'utilisation de Python avec la bibliothèque Spire.XLS est le meilleur moyen de remplacer par lots du texte dans plusieurs fichiers Excel sans même les ouvrir. C'est un game-changer pour les professionnels gérant des centaines de rapports qui ont besoin de maintenir le formatage et la structure des documents.

Pourquoi utiliser Spire.XLS pour Python ?
- Préservation du formatage : Contrairement à d'autres bibliothèques, Spire.XLS conserve vos polices, couleurs et mises en page intactes tout en remplaçant le texte.
- Scalabilité : Traitez des milliers de classeurs en quelques secondes - idéal pour le rebrading à l'échelle de l'entreprise ou les mises à jour de données.
- Support des formules : Permet d'insérer diverses formules Excel, ce qui facilite la réalisation de calculs complexes, même sans ouvrir Excel.
- Aucun Excel requis : Fonctionne indépendamment de Microsoft Office, ce qui le rend parfait pour les environnements de serveur automatisés.
Code Python : Remplacement par lots à l'aide de Spire.XLS
Ce script parcourt un dossier entier, recherche dans chaque feuille de calcul et remplace des termes spécifiques :
from spire.xls import *
import glob
# Chemin de votre dossier contenant les fichiers Excel
files = glob.glob("C:/votre_dossier/*.xlsx")
for file in files:
# Charger le classeur
workbook = Workbook()
workbook.LoadFromFile(file)
# Parcourir toutes les feuilles de calcul pour remplacer le texte
for i in range(workbook.Worksheets.Count):
sheet = workbook.Worksheets[i]
# Trouver toutes les occurrences de l'ancien texte
found_ranges = sheet.FindAll("AncienTexte", FindType.Text, ExcelFindOptions.MatchEntireCellContent)
if found_ranges:
for cell_range in found_ranges:
# Appliquer le texte de remplacement
cell_range.Text = "NouveauTexte"
# Enregistrer le classeur mis à jour
workbook.SaveToFile(file, ExcelVersion.Version2016)
workbook.Dispose()
print("Remplacement de texte par lots terminé avec succès !")
Mise en œuvre étape par étape :
- Configurer l'environnement : Installez la bibliothèque via le terminal :
pip install Spire.Xls - Préparer votre script : Collez le code dans un éditeur comme VS Code ou PyCharm.
- Configurer les paramètres : Mettez à jour le chemin du dossier et remplacez "AncienTexte" et "NouveauTexte" par vos données réelles.
- Exécuter et vérifier : Appuyez sur F5 pour exécuter le script. Vérifiez les fichiers de sortie pour confirmer que les résultats du remplacement sont corrects.
Conseils Pro :
- Remplacement de texte partiel : Si une cellule contient une longue chaîne (par exemple, "Commande : 1001") et que vous ne souhaitez changer que le nombre, utilisez
cell_range.TextPartReplace("1001", "2002"). Cela conserve le texte environnant intact. - Sensibilité à la casse : Le paramètre ExcelFindOptions dans la méthode FindAll vous permet d'activer la correspondance sensible à la casse ou la correspondance de mot entier pour une plus grande précision.
- Recherche spécifique à une plage : Si vous savez que les données cibles se trouvent uniquement dans une zone spécifique, appelez FindAll sur une XlsRange au lieu de toute la feuille :
sheet.Range["A1:C10"].FindAll(). - Regex et modèles : Vous pouvez combiner cela avec le module re de Python pour une correspondance de modèle complexe avant de passer la chaîne à la boucle de remplacement.
✅ Avantages : Vitesse inégalée pour les tâches à haut volume ; gère plusieurs fichiers ; conserve tout le formatage Excel d'origine.
⚠️ Limites : Nécessite une configuration d'environnement Python et des connaissances de base en programmation.
Conclusion : Quelle méthode choisir ?
Choisir la meilleure façon de remplacer du texte dans Excel dépend de l'échelle de vos données et de votre niveau de confort avec l'automatisation :
- Modifications rapides et simples : Utilisez l'outil intégré Rechercher & Remplacer.
- Précision basée sur la position : Utilisez la fonction REPLACE pour les données structurées (par exemple, codes d'identification).
- Logique basée sur le contenu : Utilisez la fonction SUBSTITUTE pour corriger des termes spécifiques.
- Automatisation du classeur : Utilisez les macros VBA pour gérer les tâches répétitives sur plusieurs feuilles.
- Traitement par lots professionnel : Utilisez Python pour gérer des centaines de fichiers avec le formatage conservé.
En choisissant le bon flux de travail, vous pouvez assurer la cohérence des données, gagner des heures de travail manuel et éliminer les erreurs humaines.
Dépannage des problèmes courants de remplacement de texte
Même avec les bons outils, vous pourriez rencontrer des obstacles. Voici les problèmes les plus courants et comment les résoudre :
| Problème | Cause probable | Solution |
|---|---|---|
| Le remplacement n'a pas eu lieu | Le texte ne correspond pas exactement à la chaîne Rechercher ou ancien_texte. | Vérifiez les espaces supplémentaires ou les caractères cachés. Utilisez les fonctions SUPPRESPACE() ou NETTOYER() pour assainir les données au préalable. |
| Seule une partie du texte a été remplacée | Les paramètres Rechercher & Remplacer sont trop restrictifs. | Dans le menu Options, assurez-vous que Respecter la casse et Cellule entière ne sont pas cochés pour les remplacements partiels. |
| Erreur #VALEUR ! (REPLACE) | Position de départ ou nombre de caractères invalide. | Assurez-vous que no_début et no_caractères sont des entiers positifs et dans la longueur de la chaîne. |
| Les résultats des formules sont uniquement du texte | REPLACE et SUBSTITUTE renvoient toujours du texte. | Si vous avez besoin d'un nombre, multipliez le résultat par 1 (par exemple, =SUBSTITUTE(...)*1) ou encapsulez-le dans VALEUR(). |
| La macro VBA ne s'exécute pas | Paramètres de sécurité des macros ou feuilles protégées. | Activez les macros dans le Centre de gestion de la confidentialité et assurez-vous que la feuille de calcul est déprotégée avant l'exécution. |
| Erreurs de script Python | Chemins de fichiers incorrects ou dépendances manquantes. | Assurez-vous que Spire.Xls est installé. Vérifiez la syntaxe de votre chemin de dossier (utilisez / ou \\ sous Windows). |
FAQ : Remplacer des données dans Excel
Q1 : Puis-je remplacer du texte dans plusieurs feuilles sans VBA ou Python ?
Oui. Dans la boîte de dialogue Rechercher & Remplacer, cliquez sur Options et changez la liste déroulante Dans de "Feuille" à "Classeur". Cela vous permet de mettre à jour l'ensemble du fichier en une seule fois.
Q2 : Comment remplacer du texte tout en préservant le formatage des cellules ?
Les formules standard (SUBSTITUTE) créent du nouveau texte dans une nouvelle cellule. Pour conserver le formatage dans la cellule d'origine, utilisez l'outil manuel Rechercher & Remplacer ou une bibliothèque professionnelle comme Spire.XLS pour Python, qui est conçue pour modifier le contenu sans supprimer les styles.
Q3 : Puis-je remplacer du texte basé sur un modèle spécifique (par exemple, n'importe quels 3 chiffres) ?
Oui, mais vous aurez besoin de caractères génériques (* ou ?) dans l'outil Rechercher et remplacer, ou d'expressions régulières (Regex) dans un script Python pour des modèles plus complexes.
Q4 : Que faire si le texte cible se trouve à une position différente dans chaque cellule ?
Utilisez une formule dynamique combinant REPLACE avec FIND :
=SIERREUR(REPLACE(A2, TROUVE("ancien", A2), NBCAR("ancien"), "nouveau"), A2)
Cela localise le texte "ancien" quelle que soit sa position de départ et le remplace par "nouveau".
Q5 : Comment puis-je automatiser les remplacements pour des centaines de fichiers distincts ?
La méthode la plus efficace est d'utiliser Python. En utilisant glob pour trouver les fichiers et Spire.XLS pour les traiter, vous pouvez mettre à jour des milliers de classeurs en quelques secondes sans même ouvrir Excel.