Pouvez-vous faire des expressions régulières dans Excel sans VBScript?

Je cherche une fonction Excel que je peux mettre dans une cellule pour faire une recherche regex du contenu d'une autre cellule. Existe-t-il quelque chose qui existe pour le faire? Je préférerais ne pas ajouter VB Script à la feuille de calcul pour cela car je peux coder une solution plus rapidement. C'est juste que la solution la plus rapide serait une fonction. Je n'en trouve pas encore un. Alors peut-être qu'il n'y a rien.

Quelqu'un sait?

Vous pouvez simplement ajouter une référence à 'Microsoft VBScript Regular Expressions 5.5' dans le VBE pour exposer les fonctions Vgecript.dll regex à Excel. L'écriture d'une fonction regex simple est alors banale, p.ex.

Public Function emailCheck(rawEmail As String) As Boolean Dim reg As New RegExp reg.Pattern = "^[\w-\.]{1,}\@([\da-zA-Z-]{1,}\.){1,}[\da-zA-Z-]{2,4}$" emailCheck = False If reg.Test(rawEmail) Then emailCheck = True End If End Function 

Le package .xla sur ce site m'a très bien fonctionné.

MoreFunc.xll est un addin gratuit doté de fonctionnalités Regex.

Il existe d'autres addins tiers qui peuvent également faire Regex.

Il n'y a pas de véritable fonction de feuille de travail natif pour le faire, mais si vous avez une recherche spécifique, vous pouvez probablement utiliser d'autres fonctions pour effectuer le travail.

Voici une fonction qui donne le nombre de correspondances d'expression régulière dans une cellule particulière:

 Public Function regexCount(regex As String, ref As Range) As Integer Dim reg As New RegExp reg.Global = True reg.Pattern = regex regexCount = reg.Execute(ref.Value).Count End Function 

(Nécessite d'ajouter une référence à 'Microsoft VBScript Regular Expressions 5.5' – passez à 'Outils' -> 'Références' à partir de l'éditeur VBA et cochez la case à cocher pour cette référence.)