Table des matières
Si vous cherchez des moyens de remplacer du texte dans une chaîne de caractères en utilisant Excel VBA alors vous trouverez cet article utile. Le remplacement d'une certaine partie du texte peut vous faire gagner beaucoup de temps en vous permettant de retaper les chaînes de texte. Alors, entrons dans l'article principal pour connaître les détails de cette tâche de remplacement.
Télécharger le cahier d'exercices
Remplacer le texte dans une chaîne de caractères.xlsm5 façons de remplacer du texte dans une chaîne en utilisant Excel VBA
Ici, nous avons le jeu de données suivant contenant des enregistrements des employés avec leurs identifiants de messagerie. Notre tâche est de remplacer les anciens noms de domaine par les nouveaux. Dans les méthodes suivantes, nous allons travailler avec ce jeu de données avec des chaînes de texte aléatoires pour remplacer le texte désiré avec VBA codes.
Nous avons utilisé Microsoft Excel 365 ici, vous pouvez utiliser toute autre version selon votre convenance.
Méthode-01 : Remplacer le texte à partir de la n-ième position d'une chaîne aléatoire
Ici, nous allons remplacer du texte dans une chaîne de texte aléatoire pour différentes positions de départ.
Step-01 :
➤ Allez à la Développeur Tab>> ; Code Groupe>> ; Visual Basic Option.
Ensuite, le Éditeur Visual Basic s'ouvrira.
➤ Allez à la Insérer Tab>> ; Module Option.
Après cela, un Module sera créé.
Step-02 :
➤ Écrivez le code suivant
Sub substitution_of_text_1() Dim full_txt_str, updated_str As String full_txt_str = "Hundred Cars Fifty Cars Ten Cars" updated_str = Replace(full_txt_str, "Cars", "Bicycles", 1) MsgBox updated_str End Sub
Ici, nous avons déclaré full_txt_str et mis à jour_str comme Chaîne de caractères et ensuite assigné full_txt_str à une chaîne de texte aléatoire- "Cent voitures Cinquante voitures Dix voitures" Ensuite, le VBA Fonction REPLACE est utilisé pour remplacer le Voitures partie de cette chaîne aléatoire avec Bicyclettes et 1 est utilisé ici pour commencer le remplacement à partir de la position 1 Enfin, nous avons attribué cette nouvelle chaîne de texte à l'élément mis à jour_str et avec une boîte de message ( MsgBox ) nous verrons le résultat.
➤ Press F5 .
Alors un boîte de messages apparaîtra avec la nouvelle chaîne de texte avec le texte remplacé Bicyclettes .
➤ Pour faire le processus de remplacement à partir de la deuxième instance de Voitures utilisez le code suivant.
Sub substitution_of_text_1() Dim full_txt_str, updated_str As String full_txt_str = "Hundred Cars Fifty Cars Ten Cars" updated_str = Replace(full_txt_str, "Cars", "Bicycles", 14) MsgBox updated_str End Sub
Ici, nous avons utilisé la position de départ comme 14 parce que nous voulons avoir la partie de la chaîne après Cent voitures et remplacer le Voitures ici.
➤ Après en cours d'exécution le code, nous aurons le suivant boîte de messages avec le chaîne de texte à partir du texte Cinquante et avec Bicyclettes dans la position de Voitures .
➤ Pour n'avoir que la dernière partie de cette chaîne, nous appliquons le code suivant .
Sub substitution_of_text_1() Dim full_txt_str, updated_str As String full_txt_str = "Hundred Cars Fifty Cars Ten Cars" updated_str = Replace(full_txt_str, "Cars", "Bicycles", 25) MsgBox updated_str End Sub
Ici, nous avons utilisé la position de départ comme 25 parce que nous voulons avoir la partie de la chaîne après Cinquante voitures et remplacer le Voitures avec Bicyclettes ici.
Enfin, nous aurons un boîte de messages avec notre partie désirée de la chaîne ayant le remplacement par Bicyclettes .
Lire la suite : Excel VBA : remplacer un caractère dans une chaîne par sa position (4 façons efficaces)
Méthode-02 : Substituer du texte à la n-ième occurrence d'une chaîne aléatoire en utilisant Excel VBA
Dans cette section, nous allons remplacer un texte dans une chaîne de caractères aléatoire pour différents nombres d'occurrences à l'aide d'une méthode de remplacement de texte. VBA code.
Étapes :
➤ Follow Step-01 de Méthode 1 .
➤ Tapez le code suivant.
Sub substitution_of_text_2() Dim full_txt_str, updated_str As String full_txt_str = "Hundred Cars Fifty Cars Ten Cars" updated_str = Replace(full_txt_str, "Cars", "Bicycles", 1, 1) MsgBox updated_str End Sub
Ici, nous avons déclaré full_txt_str et mis à jour_str comme Chaîne de caractères et ensuite assigné full_txt_str à une chaîne de texte aléatoire- "Cent voitures Cinquante voitures Dix voitures" Après cela, le Fonction REPLACE est utilisé pour remplacer le Voitures partie de cette chaîne aléatoire avec Bicyclettes , 1 est utilisé ici pour commencer le remplacement à partir de la position 1 de cette chaîne, et la dernière 1 est pour compter le nombre d'occurrences. En utilisant 1 comme le numéro de comptage, nous définissons le remplacement du premier Voitures Enfin, nous avons attribué cette nouvelle chaîne de texte à l'élément mis à jour_str et avec une boîte de message ( MsgBox ) nous verrons le résultat.
➤ Press F5 .
Par la suite, un boîte de messages apparaîtra avec le nouveau texte Bicyclettes dans le première position de Voitures seulement.
➤ Pour remplacer les deux premières instances de Voitures avec Bicyclettes utilisez le code suivant.
Sub substitution_of_text_2() Dim full_txt_str, updated_str As String full_txt_str = "Hundred Cars Fifty Cars Ten Cars" updated_str = Replace(full_txt_str, "Cars", "Bicycles", 1, 2) MsgBox updated_str End Sub
Ici, 2 est utilisé comme numéro de comptage pour remplacer les deux premières instances de Voitures avec Bicyclettes .
Après avoir exécuté le code, vous aurez le remplacement des deux premiers textes Voitures avec Bicyclettes .
➤ Appliquez le code suivant pour remplacer toutes les instances du texte. Voitures .
Sub substitution_of_text_2() Dim full_txt_str, updated_str As String full_txt_str = "Hundred Cars Fifty Cars Ten Cars" updated_str = Replace(full_txt_str, "Cars", "Bicycles", 1, 3) MsgBox updated_str End Sub
Ici, le dernier argument du Fonction REPLACE est 3 qui est le numéro de comptage indiquant le remplacement de l'ensemble des Voitures avec Bicyclettes dans la chaîne de texte.
➤ Press F5 .
Ensuite, nous aurons les éléments suivants boîte de messages avec le texte remplacé Bicyclettes dans la chaîne.
Lectures similaires
- Comment remplacer du texte par un retour chariot dans Excel (4 approches fluides)
- Excel VBA : comment rechercher et remplacer du texte dans un document Word
- Comment remplacer le texte après un caractère spécifique dans Excel (3 méthodes)
- Remplacer le texte d'une cellule en fonction d'une condition dans Excel (5 méthodes simples)
Méthode-03 : Remplacer le texte dans une chaîne aléatoire avec InputBox
Ici, nous allons remplacer un certain texte d'une chaîne aléatoire par un texte qui sera défini par un utilisateur à l'aide de la fonction Fonction InputBox de VBA .
Étapes :
➤ Follow Step-01 de Méthode 1 .
➤ Tapez le code suivant.
Sub substitution_of_text_3() Dim full_txt_str, new_txt, updated_str As String full_txt_str = "Hundred Cars Fifty Cars Ten Cars" new_txt = InputBox("Write down the new text to replace") updated_str = Replace(full_txt_str, "Cars", new_txt) MsgBox updated_str End Sub
Ici, nous avons déclaré full_txt_str , nouveau_texte et mis à jour_str comme Chaîne de caractères et ensuite assigné full_txt_str à une chaîne de texte aléatoire- "Cent voitures Cinquante voitures Dix voitures" Pour que l'entrée définie par l'utilisateur soit le texte à remplacer par l'entrée de l'utilisateur. Voitures dans la chaîne aléatoire, nous avons utilisé le Fonction InputBox et a ensuite attribué cette valeur à nouveau_texte Ensuite, le Fonction REPLACE est utilisé pour remplacer le Voitures partie de cette chaîne aléatoire avec nouveau_texte Enfin, nous avons assigné cette nouvelle chaîne de texte au fichier mis à jour_str et avec une boîte de message ( MsgBox ) nous verrons le résultat.
➤ Press F5 .
Après cela, un Boîte de saisie apparaît où vous pouvez entrer n'importe quelle partie de texte que vous voulez avoir dans la nouvelle chaîne.
➤ Type Bicyclettes ou tout autre texte que vous souhaitez, puis appuyez sur OK .
Enfin, vous obtiendrez le résultat suivant avec la nouvelle chaîne de texte ayant le nouveau texte Bicyclettes dans la position de Voitures .
Lire la suite : Comment remplacer du texte dans une formule Excel (7 méthodes simples)
Méthode-04 : Remplacer le texte d'une plage de chaînes de caractères avec Excel VBA
Ici, nous substituerons le gmail de l'identifiant de l'email avec les domaines dans le fichier Nouveau domaine et pour accumuler les nouvelles adresses e-mail, nous avons inséré une nouvelle colonne ; Adresse électronique finale .
Étapes :
➤ Follow Step-01 de Méthode 1 .
➤ Tapez le code suivant.
Sub substitution_of_text_4() For i = 4 To 13 If InStr(1, Cells(i, 4).Value, "gmail")> ; 0 Then Cells(i, 6).Value = Replace(Cells(i, 4).Value, "gmail", Cells(i, 5).Value) Else Cells(i, 6).Value = "" End If Next i End Sub
Ici, nous avons utilisé le Boucle FOR pour exécuter l'opération à partir de Rangée 4 à Rangée 13 Avec l'aide de l SI-ALORS nous avons vérifié si les identifiants de courrier électronique de Colonne D contiennent "gmail" ou non, et pour répondre à ce critère, l'élément "gmail" des identifiants de courriel seront remplacés par les nouveaux domaines de Colonne E pour créer les nouveaux ids dans Colonne F Sinon vous aurez un blanc dans les cellules correspondantes de Colonne F .
➤ Press F5 .
Ensuite, vous aurez les nouveaux identifiants d'email dans le fichier Adresse électronique finale colonne.
Lire la suite : Excel VBA pour rechercher et remplacer du texte dans une colonne (2 exemples)
Méthode-05 : Remplacer le texte d'une plage de chaînes de caractères par la saisie de l'utilisateur pour trouver du texte
Vous pouvez remplacer les identifiants de messagerie suivants par les nouveaux domaines et déclarer ce qui doit être remplacé dans les identifiants précédents ; une entrée utilisateur peut être utilisée en suivant cette méthode.
Étapes :
➤ Follow Step-01 de Méthode 1 .
➤ Tapez le code suivant.
Sub substitution_of_text_5() Dim partial_text As String partial_text = Application.InputBox("Enter the string to be replaced") For i = 4 To 13 If InStr(1, Cells(i, 4).Value, LCase(partial_text))> ; 0 Then Cells(i, 6).Value = Replace(Cells(i, 4).Value, LCase(partial_text), Cells(i, 5).Value) Else Cells(i, 6).Value = "" End If Next i End Sub
Ici, nous avons défini texte partiel en tant que Chaîne de caractères et l'a ensuite assigné à une chaîne de caractères qui sera donnée par un utilisateur par le biais de la fonction Boîte de saisie .
Ensuite, nous avons utilisé le Boucle FOR pour exécuter l'opération à partir de Rangée 4 à Rangée 13 et en utilisant le SI-ALORS nous avons vérifié si les identifiants de courrier électronique de Colonne D contiennent "gmail" ou non. Et pour remplir ce critère, la "gmail" des identifiants de courriel seront remplacés par les nouveaux domaines de Colonne E pour créer les nouveaux ids dans Colonne F Sinon vous aurez un blanc dans les cellules correspondantes de Colonne F .
➤ Press F5 .
Après cela, vous aurez un Boîte de saisie où vous devez taper le texte que vous voulez rechercher dans la gamme d'identifiants d'email (ici, nous avons écrit gmail ), puis appuyez sur OK .
Enfin, nous avons nos identifiants de messagerie mis à jour dans le fichier Adresse électronique finale colonne.
Lire la suite : Rechercher et remplacer un texte dans une plage avec Excel VBA (Macro et UserForm)
Section pratique
Pour vous entraîner vous-même, nous avons fourni un Pratique comme ci-dessous dans une feuille nommée Pratique S'il vous plaît, faites-le vous-même.
Conclusion
Dans cet article, nous avons essayé de couvrir les façons de remplacer du texte dans une chaîne de caractères en utilisant Excel. VBA J'espère que vous le trouverez utile. Si vous avez des suggestions ou des questions, n'hésitez pas à les partager dans la section des commentaires.