Excel VBA Rechercher et remplacer

Avez-vous déjà pensé à automatiser la fonction Rechercher et remplacer dans Excel. Dans VBA, nous pouvons créer une macro qui peut être utilisée pour rechercher et remplacer tout ce que nous faisons normalement dans Excel en appuyant sur les touches de raccourci Ctrl + H. Avec l'aide de VBA Find and Replace, nous pouvons automatiser la recherche de n'importe quel mot et le remplacer par un autre remplacement. Cela est utile lorsque nous devons effectuer plusieurs fois la même activité.

Comment rechercher et remplacer des mots dans Excel VBA?

Voici les différents exemples pour trouver et remplacer les mots dans Excel en utilisant le code VBA.

Vous pouvez télécharger ce modèle Excel de recherche et remplacement VBA ici - Modèle de recherche et remplacement Excel VBA

Recherche et remplacement VBA - Exemple # 1

Dans un exemple très simple, nous avons un ensemble de données composé d'un nom. Et certains des noms se répètent comme indiqué ci-dessous.

Nous allons maintenant créer un code, par lequel nous trouverons tous les noms qui se répètent et les remplacerons par quelque chose d'autre. Pour cela, suivez les étapes ci-dessous.

Étape 1: Allez dans le menu Insérer dans VBA et sélectionnez l'option Module comme indiqué ci-dessous.

Étape 2: Une fois que nous avons fait cela, nous allons ouvrir un nouveau module. Dans ce module, écrivez la sous-catégorie au nom de VBA Rechercher et remplacer ou vous pouvez choisir n'importe quel nom de cette sous-catégorie.

Code:

 Sub Find_Replace1 () End Sub 

Étape 3: Comme nous avons les données dans la colonne B de la cellule B2 à B10, nous allons donc d'abord sélectionner cette plage de B2: B10.

Code:

 Sub Find_Replace1 () Range ("B2: B10"). Replace End Sub 

Étape 4: Maintenant, pour remplacer quelque chose, nous devons rechercher ce mot. Ici aussi, nous allons d'abord sélectionner la fonction Remplacer pour voir ce que nous devons remplacer.

Code:

 Sub Find_Replace1 () Range ("B2: B10"). Replace End Sub 

Selon la syntaxe de la fonction Replace, nous trouverons ce que nous devons remplacer.

Étape 5: Sélectionnons le prénom de la liste « Ben » comme ce que nous devons remplacer.

Code:

 Sub Find_Replace1 () Range ("B2: B10"). Replace What: = "Ben" End Sub 

Étape 6: Choisissez maintenant le mot de remplacement par lequel nous devons remplacer le mot sélectionné. Ici, nous avons choisi de remplacer le nom Ben par Sam qui est mentionné comme remplacement comme indiqué ci-dessous.

Code:

 Sub Find_Replace1 () Range ("B2: B10"). Replace What: = "Ben", Replacement: = "Sam" End Sub 

Étape 7: compilez maintenant le code et exécutez-le en cliquant sur le bouton Lecture ou en appuyant sur la touche F5, comme indiqué ci-dessous.

Nous verrons, toutes les cellules contenant le nom de Ben sont maintenant remplacées par le nom de Sam . Et cela est également mis en évidence en jaune.

Recherche et remplacement VBA - Exemple # 2

Nous aurions tous dû faire face à une situation où nous avons essayé de trouver et de remplacer certains mots par des lettres sensibles à la casse. Supposons dans une liste, si nous voulons remplacer uniquement ce mot qui a des lettres minuscules ou majuscules. Et si nous utilisons le processus que nous avons vu dans l'exemple-1, nous finirions par remplacer tous les mots similaires de cette liste ainsi que ceux requis. Ce processus ne peut pas être effectué à l'aide de la fonction de recherche et de remplacement (Ctrl + H) d'Excel. Pour cela, nous avons une disposition en VBA.

Examinons les données ci-dessous pour cela. Comme nous pouvons le voir, nous avons délibérément ajouté un mot BEN en majuscule dans la cellule B2.

Suivez les étapes ci-dessous pour rechercher et remplacer le mot BEN.

Étape 1: démarrez la sous-catégorie de VBA Rechercher et remplacer comme indiqué ci-dessous.

Code:

 Sub Find_Replace2 () End Sub 

Étape 2: Sélectionnez la liste en tant que plage de B2 à B10.

Code:

 Sub Find_Replace2 () Range ("B2: B10") End Sub 

Étape 3: Maintenant, choisissez le mot exact que nous voulons remplacer. Ici, nous avons sélectionné BEN qui se trouve dans la cellule B2.

Code:

 Sub Find_Replace2 () Range ("B2: B10"). Replace What: = "BEN" End Sub 

Étape 4: Encore une fois, nous avons sélectionné le même mot que nous avons vu dans l'exemple-1 comme remplacement de BEN comme Sam .

Code:

 Sub Find_Replace2 () Range ("B2: B10"). Replace What: = "BEN", Replacement: = "Sam" End Sub 

Étape 5: Maintenant, pour remplacer le mot exact BEN, nous devons utiliser MatchCase si cela devient VRAI comme indiqué ci-dessous.

Code:

 Sub Find_Replace2 () Range ("B2: B10"). Replace What: = "BEN", Replacement: = "Sam", MatchCase: = True End Sub 

Le MatchCase nous aidera à identifier ce mot que nous voulons remplacer par une correspondance exacte. Ici, le mot que nous avons sélectionné est BEN en majuscules et la liste contient également d'autres mots similaires mais en cas approprié.

Étape 6: Maintenant, exécutez le code en cliquant sur le bouton Lecture ou en appuyant sur la touche F5.

Nous verrons, le mot BEN qui était à la cellule B2 est maintenant remplacé par le mot « Sam », surligné en jaune. Et les mots similaires Ben qui sont situés aux cellules B5 et B8 respectivement sont toujours inchangés.

Voici comment fonctionne la correspondance exacte.

Étape 7: Maintenant, nous allons supprimer la MatchCase ajoutée du code ci-dessus et voir comment cela fonctionnerait.

Code:

 Sub Find_Replace2 () Range ("B2: B10"). Replace What: = "BEN", Replacement: = "Sam", MatchCase: = True End Sub 

Étape 8: compilez à nouveau et exécutez le code.

Nous verrons que le code a remplacé toutes les cellules contenant le mot Ben comme indiqué ci-dessus. Ce qui signifie qu'après avoir supprimé MatchCase, le code fonctionnera comme nous l'avons vu dans l'exemple 1.

Avantages d'Excel VBA Find and Replace

  • L'apprentissage majeur est que nous pouvons remplacer les mots sensibles à la casse et le contenu des cellules avec l'aide VBA Rechercher et remplacer comme indiqué dans l'exemple-2.
  • Si l'activité est répétée manuellement et plusieurs fois, l'automatisation serait un avantage pour gagner du temps et des efforts.
  • Même si nous avons un énorme ensemble de données où nous voulons remplacer des mots spécifiques, cela peut être fait sans planter Excel dans des fichiers volumineux.

Choses dont il faut se rappeler

  • Nous pouvons créer une macro de la fonction Rechercher et remplacer à l'aide de l'option Enregistrer la macro sous l'onglet Développeur. C'est le moyen le plus simple de créer une macro si vous débutez dans le codage.
  • L'enregistrement du fichier au format Macro Enable excel permettra au code d'être utilisé à l'avenir.
  • Nous pouvons remplacer tout type de texte, mot, nombre ou caractère par VBA Find and Replace.

Articles recommandés

Ceci est un guide pour rechercher et remplacer VBA. Nous expliquons ici comment trouver et remplacer des mots dans Excel à l'aide de VBA, ainsi que des exemples pratiques et un modèle Excel téléchargeable. Vous pouvez également consulter nos autres articles suggérés -

  1. VBA Break for Loop
  2. REMPLACER la formule dans Excel
  3. Un guide complet VBA Find
  4. Fonction FIND dans Excel

Catégorie: