Microsoft 365 Extraire une chaine de caractère numérique d'une cellule

  • Initiateur de la discussion Initiateur de la discussion Menjye
  • Date de début Date de début

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 !

Menjye

XLDnaute Nouveau
Bonjour,

Je travaille dans un fichier Excel et je dois extraire un numéro de facture au sein d'une cellule, qui n'a pas toujours la même position au sein de cette cellule et qui répond aux critères suivants :
- 9 caractères
- composée de chiffres uniquement (pas d'espace, de lettres ou de caractères spéciaux)
- qui suit toujours le motif YYMMXXXXX où YY est l'année et MM est le mois de la facture.

Voici un exemple de libellé de cellule dans lequel je dois extraire ce numéro :
"Virement de Vincialis 24-01-08 240111987 test"
Je n'arrive pas à définir la formule qui retournerait le résultat "240111987". J'obtiens le résultat "24-01-08 " 🙁

Avez-vous des idées car je suis dessus depuis plusieurs jours et je n'y parviens pas...

Merci à vous !
 
Bonjour
Une proposition dans le vide pour cause de fichier test absent, avec le nom en A1
VB:
=LET(
MonTab;FRACTIONNER.TEXTE(A1;" ");
MesChiffres;SI(ESTERREUR(MonTab*1);"";MonTab);
MonExtrac;SI(ESTERREUR(DATEVAL(MesChiffres));MesChiffres;"");
JOINDRE.TEXTE("";1;MonExtrac)
)

Cordialement

EDIT : Bonjour @djidji59430 , désolé, pas rafraîchi
 
Dernière édition:
Je l'ai refait avec let
VB:
=
=LET(

frac

;STXT($I$4;SEQUENCE(NBCAR($I$4));1)

;chiffre;(CODE(frac)>=CODE(0))*(CODE(frac)<=CODE(9))

;plage;TROUVE(REPT(1;9);CONCAT(chiffre))-1+LIGNE(1:9)

;JOINDRE.TEXTE("";;INDEX(frac;plage)))
 
Dernière édition:
re
bonjour
visiblement ta chaine numérique est entourée d'espaces
ben cherche les espaces et sert toi de mid (STXT en formule)
à l'ancienne
VB:
=STXT(A1;CHERCHE(" ";A1;1)+1;CHERCHE(" ";A1;CHERCHE(" ";A1;1)+1)-CHERCHE(" ";A1;1)-1)
1706603669335.png


= STXT(ton texte ; index du premier espace+1 ; index du 2d espace moins l'index du premier moins 1)
 
re Bonjour à tous
ok @job75 bonnet blanc blanc bonnet on garde le même principe
sauf que le premier cherche c'est le format "??-??-??"
VB:
=STXT(A1;CHERCHE("??-??-??";A1;1)+9;CHERCHE(" ";A1;CHERCHE("??-??-??";A1;1)+9+1)-(CHERCHE("??-??-??";A1;1)+9))
testé sur le post #6
sur 2021 avec LET ca devient du pipi de chat la formule 😉
 
- 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

Retour