Extraire chaine de caractères

Résolu
PYGOS69 Messages postés 452 Date d'inscription   Statut Membre Dernière intervention   -  
yclik Messages postés 3843 Date d'inscription   Statut Membre Dernière intervention   - 16 sept. 2022 à 17:48

Bonjour,

Je cherche une formule ou une fonction qui extrait une chaine de caractères numérique de 13 ou 15 caractères, qu'elle que soit sa position dans le texte d'une cellule.

Exemple : A2 =

"1/ Merci de contacter la personne pour l'affaire en cours.... Son code est le 3562458548795 pour aujourd'hui"

ou

"suite au contact pour l'affaire en cours.... saisir le code 356245854879512 svp."

L'extraction sera correcte si la chaine de caractères est de 13 caractères ou 15 caractères.

Merci d'avance,

Bien cordialement,
Windows / Firefox 91.0

A voir également:

3 réponses

yclik Messages postés 3843 Date d'inscription   Statut Membre Dernière intervention   1 559
 

Bonjour

 A tester

si texte en A1

=GAUCHE(STXT(A1;TROUVE("35";A1);17);TROUVE(" ";STXT(A1;TROUVE("35";A1);17)))
1
PYGOS69 Messages postés 452 Date d'inscription   Statut Membre Dernière intervention   21
 

Bonjour et un grand merci !

Comme le précise blux le code n'est jamais le même.....Donc 35 ne sera pas forcément présent. Le code est aléatoire mais commence par 3 ou 4....

0
yclik Messages postés 3843 Date d'inscription   Statut Membre Dernière intervention   1 559 > PYGOS69 Messages postés 452 Date d'inscription   Statut Membre Dernière intervention  
 

Re

dans ce cas

A tester

=GAUCHE(STXT(A1;SI(ESTERREUR(TROUVE(" 3";A1));TROUVE(" 4";A1)+1;TROUVE(" 3";A1)+1);17);TROUVE(" ";STXT(A1;SI(ESTERREUR(TROUVE(" 3";A1));TROUVE(" 4";A1)+1;TROUVE(" 3";A1)+1);17)))
1
blux Messages postés 26956 Date d'inscription   Statut Modérateur Dernière intervention   3 344
 

sauf que si le texte ne contient pas 35, on n'est pas bon...

1
blux Messages postés 26956 Date d'inscription   Statut Modérateur Dernière intervention   3 344
 

Salut,

si la version d'excel le permet (il faut récupérer un pack supplémentaire : https://www.excel-pratique.com/fr/fonctions-complementaires/installation-macro-complementaire) :

=REGEX_EXTRACT(texte; expression_régulière)

avec \d{13}|\d{15} comme expression régulière (à mettre entre quotes)


1
PYGOS69 Messages postés 452 Date d'inscription   Statut Membre Dernière intervention   21
 

Bonjour blux,

Merci je testerais avec excel 2010. Sinon je garde pour excel 365.

0