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.
Double cliquer sur le fichier réceptionné pour l'ouvrir dans Excel,
Puis, cliquer sur le bouton Activer la modification dans le bandeau de sécurité,
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.