Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

XL 2013 récupérer les dates dans une chaine (formule excel)

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

patricktoulon

XLDnaute Barbatruc
Bonjour à tous
je vais commencer a me faire un recueil d'exemple de formule excel pour le texte

aujourd'hui je cherche une formule qui pourrait me donner la Nieme( de 1 à x) date dans une chaine
à l'heure actuelle j'ai la première simplement avec STXT ET CHERCHE
=STXT(A1;CHERCHE("??/??/????";A1;1);10)
j'aimerais trouver une formule qui me permette d'avoir la 2d , la 3eme etc...
 
La formule matricielle se propage bien si tu valides la 1ère par CTRL MAJ ENTREE
Mais tu peux aussi la coller dans un nom pour éviter le problème (les noms sont toujours interprétés comme des formules matricielles)
 
Bonjour à tous 🙂,

Comme assez régulièrement, je viens sans doute après la bataille.
Je précise que je n'ai regardé aucune formule précédente de ce fil ; j'espère que ma formule ne fait pas double-emploi avec une formule déjà publiée 🙁. Je ne voudrais froisser personne.

C'est une formule matricielle. Le texte est en A2, l'occurrence N à trouver en A6.

Voici la formule en A10 :
=SIERREUR(STXT($A$2;PETITE.VALEUR(SI(ESTNUM(DATEVAL(SI(ESTNUM(--STXT($A$2;LIGNE($2:$258);2)) * (STXT($A$2;LIGNE($2:$258)+2;1)="/")* ESTNUM(--STXT($A$2;LIGNE($2:$258)+3;2)) * (STXT($A$2;LIGNE($2:$258)+5;1)="/") * ESTNUM(--STXT($A$2;LIGNE($2:$258)+6;4));STXT($A$2;LIGNE($2:$258);10);"")));LIGNE($2:$258);"");A6);10);"")

Notez :
  • on fait une vérification de la date. C'est pourquoi, dans l'exemple, la formule ne trouvera que 3 occurrences (29/02/1999 n'étant pas une date correcte, ce n'est pas une occurence).
  • la valeur 258 peut-être augmentée ou diminuée. Cette valeur doit être supérieure au nombre de caractères possibles du texte
  • les dates doivent être au format 10 caractères : jj/mm/aaaa
 

Pièces jointes

Dernière édition:
Bonjour à tous,

Je me permets une petite remarque.
J'ai essayé la formule de job75 😉 que je félicite avec des espaces dans la phrase et cela ne donne pas satisfaction. J'ai donc enlevé les espaces avec la fonction substitue.

VB:
=STXT(SUBSTITUE(A2;" ";"");PETITE.VALEUR(SI(ESTNUM(--STXT(SUBSTITUE(A2;" ";"");LIGNE(INDIRECT("1:"&NBCAR(SUBSTITUE(A2;" ";""))));10));LIGNE(INDIRECT("1:"&NBCAR(SUBSTITUE(A2;" ";"")))));A6);10)

JHA
 
re
Bonjour @JHA
plutôt que faire un substitue dans tout les segments des antécédents
on peut faire un SUPPRESPACE global
Code:
=SUPPRESPACE(SIERREUR(STXT(A2;PETITE.VALEUR(SI(ESTNUM(--STXT(A2;LIGNE(INDIRECT("1:"&NBCAR(A2)));10));LIGNE(INDIRECT("1:"&NBCAR(A2))));A6);10);"-"))
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…