Pour partager cette vidéo sur les réseaux sociaux ou sur un site, voici son url :
Sujets que vous pourriez aussi aimer :Les expressions régulières dans les formules Excel
Quel bonheur ! Elles sont enfin là les
expressions régulières dans les
formules Excel. Elles sont tellement chéries par les développeurs et capables de prouesses. Autrefois, elles étaient réservées au code et notamment au
VBA Excel. Mais voilà qu'est apparue la
fonction Regex.Extraire, entre autres. Et nous allons la démontrer sur plusieurs cas pratiques délicieux.
Classeur Excel à télécharger
Nous proposons d'axer la découverte sur un
classeur Excel existant, offrant des
adresses postales à décortiquer.

Nous découvrons un tableau des
adresses postales sur la gauche de la feuille, entre les
colonnes B et D. Sur la droite, une grille vide est en attente des découpes. Nous devons isoler
chaque code postal en
colonne G,
chaque début d'adresse en
colonne F et
chaque ville en
colonne H.
La fonction Regex.Extraire
La
fonction Regex.Extraire attend deux paramètres obligatoires. Le premier est la chaîne à travailler. Le second est le
motif de la
séquence remarquable à déceler pour réaliser l'extraction.
- Cliquer sur la case vide du premier code postal à dénicher pour sélectionner la cellule G4,
- Taper le symbole égal (=) pour débuter la construction de la formule,
- Appeler la fonction régulière d'extraction, suivie d'une parenthèse : RegEx.Extraire(,
- Cliquer sur la première adresse en sélectionnant la cellule D4,
- Taper un point-virgule pour passer dans le deuxième argument de la fonction RegEx.Extraire,
- Puis, entre guillemets, inscrire la séquence suivante : "[0-9]{5}",
Nous recherchons donc une séquence remarquable de 5 (
{5}) chiffres (
[0-9]), ce qui caractérise les codes postaux français.
- Fermer la parenthèse de la fonction RegEx.Extraire,
- Puis, valider la formule par le raccourci clavier CTRL + Entrée,
Ainsi et comme nous l'avons appris, nous conservons active la cellule du résultat pour l'exploiter dans l'enchaînement.
- Cliquer et glisser la poignée de la cellule du résultat vers le bas jusqu'en ligne 11,
A réplication, nous isolons bien tous les codes postaux.

Nous aurions aussi pu simplifier la syntaxe comme suit :
=REGEX.EXTRAIRE(D4;"\d{5}"). \d pour les digits soit les chiffres répliqués à 5 reprises {5}.
Le début de l'adresse
Et désormais, il s'agit d'un jeu d'enfant pour extraire le
début de l'adresse en
colonne F grâce à cette
fonction RegEx.Extraire capable d'interpréter les
expressions régulières. Il suffit de l'imbriquer dans la
fonction Excel Texte.Avant, pour précisément prélever tout ce qui se situe
avant le code postal.
- Sélectionner de nouveau la cellule G4 du premier calcul,
- Dans sa barre de formule, sélectionner toute la syntaxe, sans le symbole égal,
- La copier (CTRL + C) puis quitter la barre de formule par la touche Echap du clavier,
- Cliquer sur la cellule F4 pour la sélectionner,
- Taper le symbole égal (=) pour débuter la construction de la formule,
- Inscrire la fonction pour extraire avant, suivie d'une parenthèse, soit : Texte.Avant(,
- Désigner la première adresse en cliquant sur sa cellule D4,
- Taper un point-virgule (;) pour passer dans le second argument de la fonction Texte.Avant,
Il s'agit de l'occurrence avant laquelle il est question de prélever tout ce qui précède, ici donc tout ce qui est placé avant le code postal décelé.
- Coller la précédente syntaxe, soit : REGEX.EXTRAIRE(D4;"[0-9]{5}"),
- Fermer la parenthèse de la fonction Texte.Avant,
- Valider la formule par le raccourci clavier CTRL + Entrée,
- Puis, cliquer et glisser la poignée du résultat vers le bas jusqu'en ligne 11,
Nous obtenons tous les débuts d'adresses, soit tout ce qui est situé avant chaque
CP.
La ville après le code postal
Pour extraire
chaque ville après
chaque code postal, le principe est le même sur la reconnaissance de cette séquence remarquable de
cinq chiffres. Mais désormais pour isoler tout ce qui est
situé après, bien entendu il est question de remplacer la
fonction Excel Texte.Avant par la
fonction Texte.Apres.
- En cellule H4, adapter la précédente syntaxe comme suit :
=TEXTE.APRES(D4; REGEX.EXTRAIRE(D4; "[0-9]{5}"))
- Valider par CTRL + Entrée,
- Puis, répliquer la logique vers le bas jusqu'en ligne 11,

C'est extraordinaire ! Autrefois, il nous aurait fallu bâtir une quantité de formules et de syntaxes complexes pour parvenir aux mêmes résultats. Et désormais, grâce aux
expressions régulières, maintenant interprétées par ces fonctions, nous aboutissons la solution en un tour de main !