Fonction REPLACE Excel VBA

FONCTION REPLACE VBA EXCEL

Renvoie une chaîne de caractères après avoir remplacé la ou les sous-chaînes correspondant à la valeur recherchée.
Partagez facilement cette ressource avec vos collègues 📲
5
(8)

Aujourd'hui, nous allons explorer en détail la fonction REPLACE dans Excel VBA.

Je suis là pour vous guider à travers les subtilités de cette fonction puissante.

La fonction REPLACE est utilisée pour remplacer une partie d'une chaîne de caractères par une autre chaîne.

C'est un outil incontournable pour les développeurs VBA souhaitant manipuler des textes de manière dynamique et efficace.


Voici la syntaxe de base de la fonction REPLACE :

Replace(expression, find, replace, [start, [count, [compare]]])

Paramètres

ParamètreDescription
expressionObligatoire. La chaîne de caractères contenant la sous-chaîne à remplacer.
findObligatoire. La sous-chaîne à rechercher dans l'expression.
replaceObligatoire. La sous-chaîne qui remplacera chaque occurrence de find.
startFacultatif. La position de départ pour la recherche (par défaut : 1).
countFacultatif. Le nombre de remplacements à effectuer (par défaut : -1, remplace toutes les occurrences).
compareFacultatif. Le type de comparaison à utiliser.
Syntaxe de la fonction FONCTION REPLACE Excel VBA

Valeurs de retour

La fonction REPLACE renvoie une nouvelle chaîne de caractères dans laquelle toutes les occurrences de find sont remplacées par replace, à partir de la position start et jusqu'à ce que le nombre de remplacements spécifié par count soit atteint.

Types de Comparaison

ConstanteValeurDescription
vbUseCompareOption-1Utilise le paramètre de l'instruction Option Compare.
vbBinaryCompare0Effectue une comparaison binaire (sensible à la casse).
vbTextCompare1Effectue une comparaison textuelle (insensible à la casse).
vbDatabaseCompare2Comparaison basée sur les informations dans la base de données (Access uniquement).
Types de Comparaison Replace VBA

Exemple d’utilisation FONCTION REPLACE VBA

Voyons quelques exemples concrets pour mieux comprendre l'utilisation de la fonction REPLACE, avec des explications détaillées pour chaque cas.

Exemple 1 : Remplacement d’un mot dans une phrase

Dans cet exemple, nous allons remplacer le mot "chat" par "chien" dans une phrase.

Sub RemplacementMot()
Dim phrase As String
phrase = "Le chat dort sur le canapé."

' Remplace "chat" par "chien"
MsgBox Replace(phrase, "chat", "chien") ' Renvoie : Le chien dort sur le canapé.
End Sub

Explication : la fonction Replace recherche la sous-chaîne "chat" dans la chaîne phrase et la remplace par "chien". Le résultat est affiché dans une boîte de message, montrant "Le chien dort sur le canapé."

Exemple 2 : Remplacement de caractères spéciaux

Dans cet exemple, nous allons remplacer tous les points-virgules par des virgules dans une liste de valeurs séparées par des points-virgules.

Sub RemplacementCaractereSpecial()
Dim liste As String
liste = "pomme;orange;banane;kiwi"

' Remplace ";" par ","
MsgBox Replace(liste, ";", ",") ' Renvoie : pomme,orange,banane,kiwi
End Sub

Explication : La fonction Replace remplace chaque point-virgule dans la chaîne liste par une virgule. Le résultat est une liste de fruits séparés par des virgules.

Exemple 3 : Remplacement conditionnel avec position de départ

Dans cet exemple, nous allons remplacer le mot "jour" par "soir" seulement après le 10ème caractère de la phrase.

Sub RemplacementConditionnel()
Dim phrase As String
phrase = "Bonjour, aujourd'hui est un beau jour."

' Remplace "jour" par "soir" après le 10ème caractère
MsgBox Replace(phrase, "jour", "soir", 10) ' Renvoie : Bonjour, aujourd'hui est un beau soir.
End Sub

Explication : En définissant le paramètre start à 10, la fonction Replace commence à rechercher "jour" après le 10ème caractère. Seule l'occurrence de "jour" après ce point est remplacée par "soir".

Exemple 4 : Limiter le nombre de remplacements

Ici, nous allons remplacer seulement les deux premières occurrences du caractère "i" par "I".

Sub LimiterNombreRemplacements()
Dim phrase As String
phrase = "Il fait froid ici, mais il y a du soleil."

' Remplace les deux premières occurrences de "i" par "I"
MsgBox Replace(phrase, "i", "I", 1, 2) ' Renvoie : Il faIt froId ici, mais il y a du soleil.
End Sub

Explication : En définissant count à 2, la fonction Replace remplace seulement les deux premières occurrences de "i" par "I". Le résultat est "Il faIt froId ici, mais il y a du soleil."

Exemple 5 : Remplacement insensible à la casse

Dans cet exemple, nous allons remplacer "VBA" par "Visual Basic" sans tenir compte de la casse.

Sub RemplacementInsensibleCasse()
Dim texte As String
texte = "Le VBA est puissant. Le vba permet de faire beaucoup de choses."

' Remplacement insensible à la casse de "VBA" par "Visual Basic"
MsgBox Replace(texte, "VBA", "Visual Basic", , , vbTextCompare) ' Renvoie : Le Visual Basic est puissant. Le Visual Basic permet de faire beaucoup de choses.
End Sub

Explication : En utilisant vbTextCompare pour le paramètre compare, la fonction Replace effectue une recherche insensible à la casse et remplace toutes les occurrences de "VBA" par "Visual Basic", peu importe leur casse originale.


Nos meilleures pratiques

Voici, d'après-moi, les meilleurs pratiques de la fonction REPLACE :

  • Utiliser des valeurs de comparaison appropriées : choisissez vbTextCompare si vous voulez une comparaison insensible à la casse, et vbBinaryCompare si la casse est importante.
  • Définir clairement le point de départ et la limite : utilisez les paramètres start et count pour contrôler précisément où et combien de fois le remplacement doit avoir lieu.

Les erreurs à éviter

Voici, d'après-moi, les erreurs à éviter de la fonction REPLACE :

  • Oublier de spécifier le type de comparaison : si vous ne spécifiez pas compare, la fonction utilisera la comparaison par défaut, ce qui pourrait ne pas correspondre à vos attentes.
  • Ne pas gérer les chaînes vides ou nulles : assurez-vous que les paramètres expression, find et replace ne sont pas vides ou nulles pour éviter des comportements inattendus.

Formation VBA Excel

Vous êtes à l'aise avec Excel et vous souhaitez passer à un niveau supérieur ? Il est temps d'apprendre le langage de programmation VBA pour créer de véritables applications dans Excel ! Explorez notre programme de formation Excel VBA pour apprendre à créer des macros et automatiser vos classeurs.

Que vous soyez une entreprise ou un particulier, nous avons conçu une formation Macros VBA Excel adaptée à vos besoins spécifiques. Nous vous offrons la flexibilité de choisir entre des formations à distance ou en présentiel, selon vos préférences et contraintes.

En choisissant notre formation VBA Excel (macros), vous pourrez également passer la certification TOSA, une référence en matière de certification bureautique.


Les autres fonctions VBA TYPE

Découvrez toutes les fonctions dans Excel VBA ici.

As-tu aimé cet article ?

Clique sur l'étoile pour l'évaluer !

Note moyenne 5 / 5. Nombre de votes : 8

Aucun vote jusqu'à présent ! Tu peux être le premier à évaluer cet article.

Sacha Letullier

Sacha Letullier

Sacha Letullier, passionné par le digital et la communication, s'est engagé à optimiser la présence en ligne des professionnels et des indépendants. Avec une expertise approfondie dans la création de sites web via WordPress et la mise en œuvre de stratégies de contenu efficaces, il est déterminé à améliorer votre visibilité en ligne.

Découvrez ses conseils quotidiens en le suivant dès maintenant sur ses réseaux sociaux 👇

Articles: 137

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *

LES 25 FONCTIONS EXCEL les plus utilisées !
Félicitations ! Ton ebook Excel offert !
EXERCICES | FICHES | EXEMPLES
LES 25 FONCTIONS EXCEL LES PLUS UTILISÉES !
E-book Excel offert
Vous souhaitez progresser rapidement et exploiter le plein potentiel d'Excel ? Découvrez dès maintenant notre formation adaptée à votre niveau !
Choisissez votre formation Excel !