Pour partager cette vidéo sur les réseaux sociaux ou sur un site, voici son url :
Sujets que vous pourriez aussi aimer :Extraire tous les mails
Dans le volet précédent, nous avons appris à faire marcher la
fonction Excel RegEx.Extraire de façon
matricielle afin d'extraire, avec
une seule formule, tous les mots clés marqués par des
HashTags dans des chaînes de textes. Dans ce nouveau chapitre, nous récidivons et l'intérêt est loin d'être anodin. L'enjeu consiste à isoler
toutes les adresses mails des chaînes de textes, en un seul jet, afin de pouvoir les exploiter sans équivoque.

C'est ce que résume parfaitement le cas finalisé illustré par la capture. Des
adresses mails sont encapsulées dans des
chaînes de textes. Parfois, il peut y en avoir plusieurs dans une même chaîne. Et pourtant avec
une seule formule matricielle répliquée, nous parvenons Ã
isoler ces adresses dans des
cellules indépendantes.
Classeur Excel à télécharger
Nous suggérons d'appuyer les travaux sur un
classeur Excel hébergeant ces chaînes de textes encapsulant des adresses mails à extirper.

Nous retrouvons un tableau semblable à celui de la présentation avec des
adresses mail embarquées. Mais à ce stade, les trois dernières colonnes sont vides. Toutes les extractions restent à faire avec l'appui de la
fonction Excel RegEx.Extraire et les
expressions régulières.
Les noms d'utilisateur
Les mails se décomposent en plusieurs séquences. Ils débutent par le nom de l'utilisateur suivi du domaine après le symbole de l'arobase et enfin l'extension (fr, com...) après le symbole du point. Nous devons commencer par le nom d'utilisateur.
- Cliquer sur la case du premier mail à extraire pour sélectionner la cellule C4,
- Taper le symbole égal (=) pour débuter la construction de la formule,
- Inscrire la fonction régulière d'extraction, suivie d'une parenthèse, soit : RegEx.Extraire(,
- Désigner la première chaîne à analyser en cliquant sur sa cellule B4,
- Taper un point-virgule (;) pour passer dans l'argument de l'expression régulière,
- Ouvrir les guillemets pour accueillir la séquence remarquable à construire,
- Puis, débuter la syntaxe comme suit : [a-zA-Z0-9.%+-]+,
Nous cherchons un ou plusieurs caractères (+) pouvant être des lettres minuscules et majuscules, des chiffres ou certains caractères spéciaux généralement autorisés dans les noms d'utilisateur de messagerie.
Les domaines
- Ajouter le symbole de l'arobase (@) pour annoncer le domaine à suivre,
- Puis, ajouter la séquence suivante : [a-zA-Z0-9.-]+,
Nous cherchons une séquence faite d'un ou plusieurs caractères (+), autorisant les lettres, les chiffres, les points et les tirets.
Les extensions de domaine
- Après un antislash (\) , ajouter un point (.) : \. pour annoncer l'extension à suivre,
- Dès lors, terminer la séquence avec cette syntaxe : [a-zA-Z]{2,3},
Ainsi, nous cherchons une succession de 2 ou 3 lettres et surtout sans espace.
- Fermer les guillemets,
- Taper un point-virgule (;) pour passer dans le troisième argument de la fonction RegEx.Extraire,
- Inscrire le chiffre 1 et fermer la parenthèse de la fonction RegEx.Extraire,
Grâce à cet argument, nous allons isoler tous les mails trouvés dans plusieurs colonnes.
- Valider la formule par le raccourci clavier CTRL + Entrée,

Pour cette première chaîne, nous parvenons à extraire les deux adresses mails engluées dans ce texte. C'est absolument remarquable étant donnée l'apriori complexité de la tâche qui nous était donnée. Autrefois, sans le VBA Excel, il aurait été impossible d'aboutir à ce résultat.
- Tirer la poignée du résultat jusqu'en ligne 7 pour répliquer la logique,
Là encore, il s'agit d'un franc succès.

Avec une seule formule répliquée, nous sommes parvenus à extraire, en un tour de main,
toutes les adresses mails encapsulées dans ces chaînes de textes. Elles sont donc prêtes à exploitation en les archivant par exemple en
base de données.