Extraire un bloc numérique d'une chaîne de caractère alphanu

Bonjour

Ma colonne A contient une chaîne de caractère alphanumérique et le bloque numérique se trouve soit au début ou à la fin ou bien ou milieu.

Je souhaite dans la colonne B extraire ce bloque numérique

Merci

Salut,

Une formule matricielle :

=STXT(A1;MIN(SI(ESTNUM(STXT(A1;LIGNE(INDIRECT("1:"&NBCAR(A1)));1)*1)*
LIGNE(INDIRECT("1:"&NBCAR(A1)))<>0;ESTNUM(STXT(A1;LIGNE(INDIRECT("1:"&
NBCAR(A1)));1)*1)*LIGNE(INDIRECT("1:"&NBCAR(A1)))));MAX(ESTNUM(STXT(A1;
LIGNE(INDIRECT("1:"&NBCAR(A1)));1)*1)*LIGNE(INDIRECT("1:"&NBCAR(A1))))-MIN(SI(
ESTNUM(STXT(A1;LIGNE(INDIRECT("1:"&NBCAR(A1)));1)*1)*LIGNE(INDIRECT("1:"&
NBCAR(A1)))<>0;ESTNUM(STXT(A1;LIGNE(INDIRECT("1:"&NBCAR(A1)));1)*1)*LIGNE(
INDIRECT("1:"&NBCAR(A1)))))+1)

à valider avec CTRL + SHIFT + ENTREE.

Un fichier d'exemple :

277valnum-xlprat.xlsx (9.22 Ko)

Cdlt,

Bonjour le forum,

Sans validation matricielle :

=RECHERCHE(9^9;--("0"&STXT(A1;MIN(CHERCHE({0.1.2.3.4.5.6.7.8.9};A1&"0 123456789"));LIGNE($1:$100))))
mbbp a écrit :

Bonjour le forum,

Sans validation matricielle :

=RECHERCHE(9^9;--("0"&STXT(A1;MIN(CHERCHE({0.1.2.3.4.5.6.7.8.9};A1&"0 123456789"));LIGNE($1:$100))))

Tu m'as secoué .. J'ai jamais vue une formule pareil J'en comprend au moins 5%

Pourrais-tu quand tu aura le temps essayer de m'éclairer sur les points suivants ?

9^9 -- > QuéZaKo ?!

--("0"&STXT --> Pourquoi les deux tirets ? Pourquoi le zéro ?!

MIN( --> Pourquoi le MIN

{0.1.2.3.4.5.6.7.8.9} --> Cela fonctionne comme un OU ?

&"0 123456789"--> Je ne comprend pas pourquoi le & et l'espace entre le 0 et les autres chiffres ..

Merci à toi,

Souvent utilisé dans les formules : 9^9 pour représenter un grand nombre qui ne sera pas atteint.

Les 2 tirets : -- : autre façon d'indiquer *1

--("0"&STXT le "O" est superflu

MIN(CHERCHE({0.1.2.3.4.5.6.7.8.9};A1&"0 123456789")) ; MIN donne l'emplacement du premier chiffre

{0.1.2.3.4.5.6.7.8.9} fonctionne comme un ET

&"0 123456789 l’espace apès le 0 est inutile

=RECHERCHE(10000000;1*(STXT(A1;MIN(CHERCHE({0.1.2.3.4.5.6.7.8.9};A1&"0123456789"));LIGNE($1:$100))))

Merci beaucoup mbbp, je te vois souvent donner des formules comme solution à des problèmes qui selon moi nécessitais du VBA ou une formule matricielle comme dans le cas présent. En plus, tes formules sont toujours optimisées.

Je ne serait même pas utiliser la fonction RECHERCHE sur un cas simple ^^. Aurait-tu un ouvrage ou un site à me recommander pour produire ce genre de formule ?

Merci d'avance et au plaisir de relire tes super-formules.

Cdlt,

J'ai commencé avec le tableur multiplan (au début des années 80) et je ne suis qu'un simple autodidacte.

C'est sa pratique assidue qui apporte un petit savoir faire.

merci

merci beaucoup les amis

Rechercher des sujets similaires à "extraire bloc numerique chaine caractere alphanu"