formateur informatique

Extraire les dates des chaînes de textes par formule Excel

Accueil  >  Bureautique  >  Excel  >  Excel Avancé  >  Extraire les dates des chaînes de textes par formule Excel
Livres à télécharger


Pour partager cette vidéo sur les réseaux sociaux ou sur un site, voici son url :


Inscription Newsletter    Abonner à Youtube    Vidéos astuces Instagram
Sujets que vous pourriez aussi aimer :


Dates et expressions régulières

Dans les deux précédents volets, nous avons appris à découper des informations d'adresses postales et à extraire très précisément les numéros de téléphone englués dans des chaînes de textes. Pour cela, nous avons exploité la fabuleuse fonction Excel RegEx.Extraire. Toujours grâce à elle, nous allons maintenant apprendre à extirper des informations de dates embarquées là encore, dans des chaînes de textes.

Classeur Excel à télécharger
Nous suggérons d'appuyer les travaux sur un classeur Excel existant hébergeant des textes qui emprisonnent des dates. Dates à extraire depuis des textes depuis tableau Excel

Nous découvrons un tableau relatant des faits historiques, mentionnés avec leurs dates. Les jours sont codés sur 2 chiffres et les années sur 4 chiffres. Les mois en revanche sont écrits en toutes lettres. C'est ce qui fait toute la particularité de l'extraction que nous devons produire.

L'expression régulière
Nous devons être en mesure de bâtir une expression régulière capable de débusquer des séquences tout à fait remarquables. Nous devons déceler la présence de 2 chiffres consécutifs suivis d'un espace, puis de plusieurs lettres ponctuées par un nouvel espace avec en bout de course une succession de quatre chiffres pour l'année.
  • Cliquer sur la case de la première date à extirper 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 le premier fait historique en cliquant sur sa cellule B4,
  • Taper un point-virgule (;) pour passer dans l'argument de la séquence remarquable,
  • Ouvrir les guillemets pour accueillir l'expression régulière,
  • Commencer la séquence comme suit : \d{2}\s,
Nous cherchons donc les 2 premiers chiffres suivis d'un espace.
  • Poursuivre l'expression comme suit : [a-zA-Z-ûé]+\s,
A la suite du jour de la date, nous cherchons donc les mois en toutes lettres, sur un nombre indéfini (+), qu'elles soient en minuscules ou majuscules, pouvant accueillir des accents (ûé) et nécessairement suivies d'un espace (\s).
  • Enfin, terminer l'expression de cette manière : \d{4},
Après les mois en lettres, nous cherchons donc une succession de 4 chiffres pour les années.
  • Fermer les guillemets de l'expression régulière,
  • Fermer la parenthèse de la fonction RegEx.Extraire,
  • Valider la formule par le raccourci clavier CTRL + Entrée,
  • Double cliquer sur la poignée du résultat pour répliquer la logique sur la hauteur du tableau,
Extraire les dates des textes par expressions régulières dans Excel

Comme vous pouvez l'apprécier, nous parvenons à extraire très précisément chacune des dates, pourtant engluées dans des chaînes de textes respectives.

Le jour et l'année
Maintenant que le plus dur est fait, il est presque trivial de remplir les autres cases vides du tableau. Pour isoler les jours, il suffit de construire et de répliquer la formule suivante : =REGEX.EXTRAIRE(B4;"\d{2}\s")

Pour isoler les années, il suffit de bâtir et de répliquer la formule suivante : =REGEX.EXTRAIRE(B4;"\d{4}")

Rendez-vous compte de la simplicité de ces formules pour réaliser pourtant des extractions complexes. Merci donc aux expressions régulières et à cette fameuse fonction RegEx.Extraire.

Isoler le mois
Pour extraire les mois qui sont inscrits en toutes lettres, la formule est plus alambiquée. Il s'agit d'isoler ce qui est placé après le jour trouvé par expression régulière et en même temps placé avant l'année, elle aussi trouvée par expression régulière. Bref, nous devons imbriquer la fonction Texte.Avant dans la fonction Texte.Apres tout en exploitant les précédentes séquences remarquables dans la fonction RegEx.Extraire.
  • Cliquer sur la case du premier mois à isoler pour sélectionner la cellule E4,
  • Taper le symbole égal (=) pour amorcer la construction de la formule,
  • Inscrire la fonction pour prélever en aval, suivie d'une parenthèse, soit : Texte.Apres(,
  • Lui imbriquer la fonction pour prélever en amont, suivie d'une parenthèse : Texte.Avant(,
  • Désigner le premier fait historique en cliquant sur sa cellule B4,
  • Taper un point-virgule (;) pour passer dans l'argument du délimiteur,
Nous devons prélever tout ce qui est placé avant l'année à débusquer.
  • Reproduire la syntaxe permettant d'isoler l'année : REGEX.EXTRAIRE(B4;"\s\d{4}"),
  • Fermer la parenthèse de la fonction Texte.Avant,
De fait, nous sommes de retour dans les bornes de la fonction Texte.Apres. Dans cette première découpe, nous ne devons conserver que ce qui est placé après le jour à débusquer. Il en résultera le mois en toutes lettres.
  • Taper un point-virgule pour passer dans l'argument du délimiteur de la fonction Texte.Apres,
  • Reproduire la syntaxe pour trouver le jour : REGEX.EXTRAIRE(B4;"\s\d{2}\s"),
  • Fermer la parenthèse de la fonction Texte.Apres,
  • Valider la formule par le raccourci clavier CTRL + Entrée,
  • Puis, répliquer la logique par double clic sur la poignée du résultat,
Extraire les mois en toutes lettres des chaînes de texte par formule Excel

Là encore, l'opération est un succès. Nous parvenons à isoler tous les mois des dates, pourtant inscrits en toutes lettres dans des chaînes de textes. La syntaxe complète de la formule d'extraction que nous avons construite est la suivante :

=TEXTE.APRES(TEXTE.AVANT(B4; REGEX.EXTRAIRE(B4; "\s\d{4}")); REGEX.EXTRAIRE(B4; "\s\d{2}\s"))

 
Sur Facebook
Sur Youtube
Les livres
Contact
Mentions légales



Abonnement à la chaîne Youtube
Partager la formation
Partager sur Facebook
Partager sur Twitter
Partager sur LinkedIn