Extraire plusieurs dates dans une cellule Excel avec REGEXEXTRACT
Extraire plusieurs dates dans une cellule Excel avec REGEXEXTRACT
Comprendre la différence entre une date « au milieu » et une date « en fin de texte »
Dans Excel (ou Google Sheets), il arrive souvent qu’une cellule contienne du texte + plusieurs dates.
Par exemple :
Produit Madariss modifié : Date Maintenance: 2026-03-11 -> 2027-03-11
L’objectif peut être :
- d’extraire la date de début (2026-03-11),
- ou la date de fin (2027-03-11),
- sans récupérer le texte.
Pour cela, les fonctions REGEXEXTRACT et DATEVAL sont très efficaces.
1. Extraire une date avec REGEXEXTRACT
L’expression régulière suivante correspond à une date au format yyyy-mm-dd :
\d{4}-\d{2}-\d{2}
\d{4}→ année\d{2}→ mois\d{2}→ jour
Exemple de base
=REGEXEXTRACT(C3;"\d{4}-\d{2}-\d{2}")
✅ Résultat :
Excel renvoie la première date trouvée dans la cellule, ici :
2026-03-11
👉 Point important : REGEXEXTRACT retourne toujours la première correspondance par défaut.
2. Extraire la date située à la fin du texte
Si tu veux récupérer la dernière date, il suffit d’ajouter le symbole $.
$
Ce symbole signifie : fin de la chaîne de caractères.
Formule
=REGEXEXTRACT(C3;"\d{4}-\d{2}-\d{2}$")
✅ Résultat :
2027-03-11
3. Pourquoi enlever le $ permet d’extraire la date du milieu ?
La différence entre ces deux comportements est très simple :
| Expression regex | Effet |
|---|---|
\d{4}-\d{2}-\d{2} | Prend la première date trouvée |
\d{4}-\d{2}-\d{2}$ | Prend uniquement la date en fin de texte |
👉 En retirant le $, Excel n’est plus limité à la fin de la cellule et s’arrête donc sur la première date, qui est celle du milieu.
4. Convertir le résultat en vraie date Excel
Pour pouvoir faire des calculs (durée, comparaison, alertes…), il est conseillé d’utiliser DATEVAL :
=SIERREUR(DATEVAL(REGEXEXTRACT(C3;"\d{4}-\d{2}-\d{2}"));"")
✅ Le résultat devient une date reconnue par Excel, et non plus du texte.
5. Résumé
- ✅ REGEXEXTRACT extrait toujours la première correspondance
- ✅ Le symbole
$force la recherche à la fin du texte - ✅ En supprimant
$, on récupère la date située avant - ✅ DATEVAL transforme le résultat en date exploitable
Conclusion
Un simple caractère ($) peut complètement changer le résultat d’une extraction.
Comprendre ce principe permet de manipuler facilement des textes complexes contenant plusieurs dates, sans formules lourdes ni colonnes intermédiaires.
Commentaires
Enregistrer un commentaire