Applications

Comment retourner toutes les correspondances d’un texte entré avec un modèle regex dans Excel

Parmi les multiples fonctions qui peuvent être obtenues grâce au codage de macros dans Excel, il y a la possibilité de renvoyer toutes les correspondances d’un texte tant qu’elles sont définies dans les paramètres.

L’opération « Exécuter » est l’expression utilisée pour renvoyer toutes les correspondances de modèle qui se trouvent dans la chaîne de recherche créée dans Visual Basic .

Grâce à Visual Basic, vous pouvez faciliter votre temps de travail dans Excel, car grâce à ce programme, vous pouvez  créer des macros et des fonctions personnalisées. Avec les mêmes macros, vous pouvez importer des noms de fichiers ou copier des données d’une feuille à une autre.

Quelle est la fonction du modèle d’expression régulière qui se chargera de renvoyer toutes les correspondances d’un texte?

La première étape consiste à créer l’objet d’expression régulière sous la forme d’une fonction appelée «Correspondances» dans laquelle, grâce à des paramètres, une valeur sera trouvée dans la cellule dans laquelle la personne a écrit.

L’objectif à travers un code macro, cela renvoie un message avec les correspondances trouvées dans le texte séparées par une disjonction.

Codage pour créer le modèle de la fonction

Il a été clairement établi que le modèle d’expression régulière qui sera créé ensuite est une fonction qui se chargera de valider les textes saisis dans la feuille.

Accédez à l’onglet » Développeur » et cliquez sur » Visual Basic » pour créer un premier » Module » qui contiendra le code de la fonction.

Vous commencerez par définir le début de la fonction, en plaçant le nom des correspondances et entre parenthèses, vous devez placer les paramètres de valeur du texte entré dans la cellule sous forme de chaîne.

Correspondances de fonction publique (cellule ByVal sous forme de chaîne)

Une fois que cela est fait, vous pouvez commencer à écrire l’objet d’expression régulière qui établira le modèle d’analyse, en lui donnant le nom (SS) que vous voulez.

Définir SS = CreateObject («VBScript.RegExp»)

Démarrez une variable que vous nommerez sous forme de texte pour établir toutes les correspondances qui seront trouvées lors de l’exécution de la macro , qui sera de type chaîne et démarrera à 0.

Dim texte sous forme de chaîne

Texte = «»

Ensuite, il établit les propriétés de l’expression régulière, où tout sera placé comme vrai et le modèle sera les lettres de a à z accompagnées du symbole plus » + » pour analyser également tout autre texte dans la chaîne.

Avec SS

.Global = Vrai

.Multiline = Vrai

.IgnoreCase = Vrai

.Pattern = «[az] +»

Terminer par

S’il y a une correspondance dans le texte, il doit être extrait à l’aide de execute , sinon il affichera un message indiquant que rien n’a été trouvé.

Dans le cas de la recherche de contenu, vous devez définir une variable que vous nommerez comme trouvée pour placer la valeur de la cellule correspondante.

Il est à noter que chaque correspondance trouvée sera parcourue avec une variable auxiliaire déterminée dans cet exemple comme » x » dans une structure » Pour chaque «.

Si SS.test (cellule) Alors

Set found = SS.Execute (cellule)

Pour chaque x dans trouvé

Aux = x

Si texte = «» Alors

Texte = aux

Autre

Texte = texte + ”| «+ Aux

Fin si

Suivant x

Enfin, il attribue que la valeur de l’objet expression régulière est le texte qui sera entré dans la cellule ou définit le message si aucune correspondance n’est trouvée, afin de mettre fin à la fonction.

 

Correspondances = texte

Autre

Matches = «Aucune correspondance trouvée»

Fin si

Fonction de fin

Code de résultat

Pour renvoyer toutes les coïncidences d’un texte, un nouveau » Module » est créé pour établir un code qui affichera le résultat de l’analyse du contenu de la cellule, en travaillant selon le modèle créé précédemment.

A cela, deux variables appelées value et string de type string seront ajoutées auxquelles seront affectées les valeurs de la fonction.

Sous-matchs ()

Valeur dim, chaîne sous forme de chaîne

Valeur = ActiveCell.Value

Chaîne = correspond (valeur)

Chaîne MsgBox

End Sub

De cette façon, la fonction et la macro sont terminées, ce que vous pouvez tester en ajoutant du contenu à une cellule avec différents symboles et en accédant au bouton » Macros » pour appuyer sur » Exécuter » sur la fonction.

Il se terminera en faisant apparaître une fenêtre avec les correspondances qui sont dans les paramètres établis, séparés les uns des autres par le symbole de disjonction.

Si vous travaillez avec ce programme, vous pouvez à un moment donné présenter une erreur , mais celles-ci sont faciles à résoudre.

Articles Similaires

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Botón volver arriba