En ce mois de mai 2024, Microsoft a annoncé la sortie en beta de trois nouvelles fonctions.
Comme Microsoft n’annonce pas de nouvelles fonctions tous les jours, et en bons passionnés d’Excel, chez Solpedinn, on ne pouvais pas manquer les infos.
Si vous êtes là, c’est que vous voulez découvrir en avant première REGEXEXTRACT, REGEXREPLACE et REGEXTEST.
Accrochez-vous, on est parti !
Comprendre les REGEX
Qu’est-ce que c’est qu’une expression régulière ?
Les trois nouvelles fonctions sorties par Microsoft sont ce qu’on appelle communément dans le monde de l’informatique des fonctions REGEX.
REGEX, c’est le diminutif de “regular expression”.
Quand on n’en a jamais entendu parler, ça peut faire un peu peur, mais tâchons d’expliquer cela de la manière la plus simple possible.
Une expression régulière, c’est une suite logique de caractères (un motif récurrent) que nous pouvons utiliser pour faire des recherches.
Par exemple, on sait qu’un adresse mail est toujours construire de la même manière : un premier mot, un arobase, un nom de domaine et un indicateur (par exemple : dupontetdupond@tintin.fr).
On pourrait donc faire de ce motif une expression régulière qui nous permettrait de retrouver automatiquement tout ce qui ressemble à une adresse mail dans un texte plus long.
De la même façon, on pourrait trouver des motifs réguliers pour les numéros de téléphone (10 chiffres démarrant par un “0”) pour les codes postaux (5 chiffres) ou encore des motifs plus complexes (tous les caractères spéciaux, des termes entre guillemets…).
La syntaxe des REGEX
Là où ça se complique et où les gens ont tendance à abandonner, c’est que l’informatique utilise une syntaxe assez particulière pour traduire les expressions régulières.
Voilà quelques exemples de syntaxe pour des expressions régulières fréquentes :
- Pour récupérer une adresse mail : [A-Za-z0-9._%+-]+@[A-Za-z0-9.-]+\.[A-Za-z]{2,}
- Pour récupérer un numéro de téléphone de 10 chiffres : (\+33|0)[1-9]([ .-]?\d{2}){4}
- Pour récupérer du texte entre parenthèses : \(([^)]+)\)
Et oui, on comprend mieux pourquoi les abandons sont nombreux à ce stade !
Heureusement, vous n’avez absolument pas besoin d’apprendre la syntaxe des REGEX, l’IA est passée par là et se débrouille plutôt pas mal sur ce sujet.
Contentez-vous de décrire avec le plus de précision possible le motif récurrent à retrouver et vous devriez récupérer assez rapidement la syntaxe dont vous avez besoin.
Les trois nouvelles fonctions d’Excel
REGEXEXTRACT
La première des trois nouvelles fonctions communiquées par Microsoft est REGEXEXTRACT.
Elle permet d’aller extraire, dans une chaîne de caractères, tous les éléments qui correspondent au motif que vous avez identifié.
Voici la syntaxe de la fonction
=REGEXEXTRACT(text, pattern, [return mode], [case sensitivity])
Les deux premiers arguments sont obligatoires et les deux derniers sont facultatifs
text = le texte ou la cellule dans laquelle vous souhaitez rechercher et extraire l’expression régulière
pattern = l’expression régulière dans sa syntaxe (récupérée via l’IA) et mise entre guillemets
[return mode] = permet d’indiquer si vous voulez récupérer un seul motif ou toutes les correspondances
[case sensitivity] = permet d’indiquer si la casse importe (majuscule ou minuscule)
Par exemple, si nous souhaitons extraire une adresse mail d’une chaîne de texte, voici la formule que nous pourrions utiliser.
Et nous obtiendrions alors le résultat ci-dessous.
Pour bien comprendre la logique, nous avons demandé à Excel d’extraire dans la cellule B7, le motif qui correspond à notre expression régulière (le format d’une adresse mail). En réponse, Excel nous renvoie l’adresse mail trouvée (ou une erreur si aucun motif ne correspond).
REGEXREPLACE
A l’inverse de REGEXEXTRACT qui permet simplement d’extraire le motif recherché d’un texte, REGEXREPLACE permet de le remplacer par une alternative de son choix dans le texte d’origine.
Par exemple, si vous voulez anonymiser un numéro de sécurité sociale en remplaçant les 8 derniers chiffres par des étoiles (*** *** **), vous pouvez désormais le faire grâce à la fonction REGEXREPLACE.
En la paramétrant correctement, elle identifiera le motif et le remplacera directement dans le texte d’origine.
Son fonctionnement est presque similaire à celui de REGEXEXTRACT, à l’exception d’un argument supplémentaire, celui qui nous permet d’indiquer le texte de remplacement souhaité.
La syntaxe de REGEXREPLACE est donc la suivante :
=REGEXREPLACE(text, pattern, replacement, [return mode], [case sensitivity])
Par exemple, si je souhaite supprimer les caractères spéciaux dans un texte, je peux utiliser la fonction suivante.
J’obtiens alors le résultat ci-dessous.
REGEXTEST
Dernière fonction de notre liste, la fonction REGEXTEST.
Elle permet simplement de tester si le motif recherché se trouve ou non dans une chaîne de caractères.
Par exemple, je peux vouloir vérifier une liste d’adresse mail pour savoir rapidement si j’ai des adresses mal formatées et les supprimer.
La fonction REGEXTEST me permet de les faire rapidement et me renvoie une réponse booléenne, VRAI ou FAUX.
Sa syntaxe est la suivante :
REGEXTEST(text, pattern, [case_sensitivity])
Elle pourrait facilement être contournée par l’utilisation de REGEXEXTRACT et de SIERREUR, donc je n’y consacre volontairement pas un paragraphe très important.
Le mot de la fin
A ce jour, Microsoft n’a pas encore annoncé de date officielle pour la sortie grand public de ces trois fonctions. Nous sommes bien entendu vigilants à cette annonce et nous ne manquerons pas de vous tenir informé de la sortie dans notre newsletter hebdomadaire.
D’ici là, n’oubliez pas que vous avez l’occasion de vous former de manière individuelle et sur-mesure sur vos besoins et vos problématiques à vous et rien qu’à vous. Vous trouverez toutes les informations à ce sujet ici.