Formule Excel - extraire date d'une référence qui commence par ou par

Ami(s)(es) d'Excel/VBA bonjour

Je viens demander de l'aide sur la formule à mettre en place car après plusieurs essais ce n'est pas concluant.

J'ai besoin de récupérer dans une référence, la date (puis la reformater au format date Excel).

J'arrive bien à récupérer la date sur la 1ère ligne mais dès que je recopie la formule, le résultat n'est pas celui attendu.

Les références peuvent commencer par KIL- ou par KIL-RT.

image

J'ai essayé d'imbriquer plusieurs fonctions (gauche, stxt, cherche) en vain !!! Dès que je recopie ça ne passe plus. Je ne vois pas où est mon erreur.

Après avoir récupéré juste la date, j'ai besoin de la reformater.

image

Je vous joins le fichier avec mes différents essais en espérant que vous pourrez m'éclairer.

J'espère avoir été explicite.

Bien cordialement.

18xlp.xlsx (21.58 Ko)

Bonjour,

Sache que dans "KIL-RT" tu as "KIL-"

Du coup ta formule devrait chercher le RT en premier.

=SI(GAUCHE($B3;6)="KIL-RT";STXT($B3;7;8);SI(GAUCHE($B3;4)="KIL-";STXT($B3;5;8)))

Pour tranformer en date la cellule C3 tu peux avoir :

=DATE(STXT(C3;1;4);STXT(C3;5;2);STXT(C3;7;2))

A+

Bonjour à tous

En une fois même si pas KIL

=SIERREUR(DATE(STXT(B3;CHERCHE("µµ";SUBSTITUE(B3;"20";"µµ";1));4);STXT(B3;CHERCHE("µµ";SUBSTITUE(B3;"20";"µµ";1))+4;2);STXT(B3;CHERCHE("µµ";SUBSTITUE(B3;"20";"µµ";1))+6;2));0)

Bonjour à tous

Ci joint ma solution

21xlp.xlsx (24.03 Ko)

A+ François

Geof52 bonjour et merci mille fois pour cette réponse rapide.

Penses-tu qu'il soit possible d'imbriquer tes 2 formules pour récupérer la date directement au bon format stp ?

Je kiffe ce site !

Bien cordialement.

78chris bonjour

je ne comprends pas grand chose à ta formule à dire vrai mais ça fonctionne du feu de dieu ! c'est cool !

juste pour que je dorme moins bête ce soir; à quoi correspondent ces caractères (en jaune) stp ?

image

fanfan38 bonjour

Merci aussi pour ta proposition qui fonctionne aussi très bien.

image

fanfan38, ce n'est pas la 1ere fois que tu m'aides sur ce forum et je t'en remercie.

Z'êtes au top !

Bonjour à tous !

Une petite dernière ?

=DATEVAL(TEXTE(STXT(B3;MAX(SIERREUR(CHERCHE({"T"."-"};B3);""))+1;8);"####-##-##"))

A valider en matricielle le cas échéant.

RE

78chris bonjour

je ne comprends pas grand chose à ta formule à dire vrai mais ça fonctionne du feu de dieu ! c'est cool !

juste pour que je dorme moins bête ce soir; à quoi correspondent ces caractères (en jaune) stp ?

image

En combinant avec l'excellente idée de JFL on peut simplifier

=SIERREUR(DATEVAL(TEXTE(STXT(B3;CHERCHE("20";B3);8);"####-##-##"));"")

En fait j'avais compliqué inutilement :

On cherche 20 qui peut être le début d'une date et on prend 8 caractères

µ est un caractère rare dans nos tableaux et on l'utilise dans certaines recherches pour des découpes car SUBSTITUE permet de ne pas prendre la 1ère occurrence de l'élément recherché mais ici c'est inutile puisque tu n'as pas de chiffes avant la date. N'importe quel autre caractère rare (£ par exemple peut servir dans ces cas)

Bon alors j'ai opté pour la solution de fanfan38, le souci c'est que j'ai oublié un type de référence ! zut !!!

image

comment puis-je l'ajouter dans sa formule ?

=SI(GAUCHE($B3;3)<>"KIL";"";SI(STXT($B3;5;2)<>"RT";DATEVAL(STXT($B3;11;2)&"/"&STXT($B3;9;2)&"/"&STXT($B3;5;4));DATEVAL(STXT($B3;13;2)&"/"&STXT($B3;11;2)&"/"&STXT($B3;7;4))))

7xlp1.xlsx (15.22 Ko)
image

Quoi que cela fonctionne avec la solution de Chris78 et JFL

image

Bonjour à tous !

Les bienfaits du communautaire.....

Je vous remercie de ce retour.

Pourquoi te compliquer la vie alors que la formule des collégues marche

A+ François

tout à fait c'est donc ce que j'ai mis en place.

Merci fanfan. A+

Rechercher des sujets similaires à "formule extraire date reference qui commence"