Comment renvoyer toutes les correspondances du texte saisi avec un modèle regex dans Excel

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 est créer l'objet d'expression régulière en tant que fonction appelée "Correspondre" où, via des paramètres, une valeur sera trouvée dans la cellule où la personne a écrit.




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

Codage pour créer le modèle de fonction

Il est clairement établi que le modèle d'expression régulière qui sera créé ultérieurement est une fonction qui se chargera de valider les textes insérés dans la feuille.

Accéder aux détails » promoteur »Et cliquez sur» Visual Basic "Créer une première" Forme » qui contiendra le code de la fonction.

Vous commencerez par régler le début de la fonction, en inscrivant le nom des matchs et entre parenthèses, vous devez insérer comme chaîne les paramètres de valeur du texte inséré dans la cellule.

Correspondances de fonction publique (cellule ByVal en tant que chaîne)

Comment renvoyer toutes les correspondances du texte saisi avec un modèle regex dans Excel

Une fois cela 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 appellerez sous forme de texte pour établir toutes les correspondances à venir trouvé lors de l'exécution de la macro, qui sera de type string et commencera à partir de 0.




Texte grisé sous forme de chaîne

Texte = ""

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

Con SS

.Globale = Véro

.Multiline = Vrai

.IgnoreCase = Vrai

.Modèle = "[az] +"

Se termine par

S'il y a une correspondance dans le texte, elle doit être extraite à l'aide de exécuter, sinon il affichera un message indiquant que rien n'a été trouvé.

En cas de recherche de contenu, vous devez définir une variable qui appellera comme trouvée pour insérer la valeur de cellule correspondante.

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

Si SS.test (cellule) Alors

Ensemble trouvé = SS.Execute (cellule)

Pour chaque x In trouvé

Aux = x

Si texte = ”” Alors

Texte = auxiliaire

Autre

Texte = texte + ”| «+Aux

Fin si

Avant x

Enfin, il affecte la valeur de l'objet d'expression régulière au texte qui sera inséré dans la cellule ou définit le message si aucune correspondance n'est trouvée, pour terminer la fonction.

Comment renvoyer toutes les correspondances du texte saisi avec un modèle regex dans Excel


 

Correspondances = texte

Autre

Correspondances = "Aucune correspondance trouvée"


Fin si


Fin de fonction

Code de résultat

Pour retourner toutes les coïncidences d'un texte, un nouveau est créé" Forme »Pour établir un code qui montrera le résultat de l'analyse du contenu de la cellule, fonctionnant selon le schéma précédemment créé.


À ceci deux variables nommées valeur et chaîne de type chaîne seront ajoutées auquel les valeurs de la fonction seront affectées.


Correspondances secondaires ()

Valeur dim, chaîne en tant que chaîne

Valeur = ActiveCell.Value

Chaîne = correspond à (valeur)

Chaîne MsgBox

Fin du sous-titre

Ceci complète la fonction et la macro, que vous pouvez tester en ajoutant du contenu à une cellule avec différents symboles et en accédant au " Macro "Presser" Cours » Sur la fonction.

Il se terminera par l'apparition d'une fenêtre avec les correspondances qui entrent dans les paramètres établis, séparées les unes des autres par le symbole de disjonction.

Si vous travaillez avec ce programme, vous pouvez rencontrer une erreur à un moment donné, mais celle-ci est facile à corriger.


ajouter un commentaire de Comment renvoyer toutes les correspondances du texte saisi avec un modèle regex dans Excel
Commentaire envoyé avec succès ! Nous l'examinerons dans les prochaines heures.