OVH Cloud OVH Cloud

Extraire seulement les chiffres

5 réponses
Avatar
Caroual
bonjour,

Serait-il possible avec une fonction d'extraire seulement les chiffres d'une
cellule ?
Ex : EURO2563N je veux obtenir 2563
je peux avoir une ou plusieurs lettres devant et derrière les chiffres qui
eux sont tous accolés.

Merci
Caroual

5 réponses

Avatar
AV
Une parmi...
Une seule valeur numérique (entier) dans la chaîne
Validation matricielle (ctrl+maj+entrée)

=1*STXT(A1;EQUIV(1;1*ESTNUM(1*STXT(A1;LIGNE(INDIRECT("1:"&NBCAR(A1)));1));0);SOMME(1*ESTNUM(1*STXT(A1;LIGNE(INDIRECT("1:"&NBCAR(A1)));1))))

AV
Avatar
Caroual
Tout simplement superbe

Merci
Caroual

"AV" a écrit dans le message de news:
%
Une parmi...
Une seule valeur numérique (entier) dans la chaîne
Validation matricielle (ctrl+maj+entrée)


=1*STXT(A1;EQUIV(1;1*ESTNUM(1*STXT(A1;LIGNE(INDIRECT("1:"&NBCAR(A1)));1));0);SOMME(1*ESTNUM(1*STXT(A1;LIGNE(INDIRECT("1:"&NBCAR(A1)));1))))

AV




Avatar
Â+
Bonjour AV, salut le forum,

Je viens d'essayer ta formule avec un nombre à décimales.
Cela fonctionne, à l'exception qu'il manque le dernier chiffre.
Normal (enfin je crois), puisque le séparateur de décimales prend un espace.

Où faut-il ajouter +1 dans cette formule pour que le dernier chiffre soit
pris en compte.
J'ai essayé un peu partout, mais cela ne marche pas.
Merci d'avance.

Â+





Une parmi...
Une seule valeur numérique (entier) dans la chaîne
Validation matricielle (ctrl+maj+entrée)

=1*STXT(A1;EQUIV(1;1*ESTNUM(1*STXT(A1;LIGNE(INDIRECT("1:"&NBCAR(A1)));1));0);SOMME(1*ESTNUM(1*STXT(A1;LIGNE(INDIRECT("1:"&NBCAR(A1)));1))))

AV





Avatar
AV
| Je viens d'essayer ta formule avec un nombre à décimales.

Ben j'avais bien précisé dans ma réponse "entier" !
Pour une nombre avec décimales (ou pas) :

Si ton séparateur décimal est le même que celui présent dans la chaîne :
Validation matricielle :
=STXT(A1;MIN(SI(ESTNUM(1*STXT(A1;LIGNE(INDIRECT("1:"&NBCAR(A1)));1))*LIGNE(INDIRECT("1:"&NBCAR(A1)))>0;ESTNUM(1*STXT(A1;LIGNE(INDIRECT("1:"&NBCAR(A1)));1))*LIGNE(INDIRECT("1:"&NBCAR(A1)))));MAX(ESTNUM(1*STXT(A1;LIGNE(INDIRECT("1:"&NBCAR(A1)));1))*LIGNE(INDIRECT("1:"&NBCAR(A1))))-MIN(SI(ESTNUM(1*STXT(A1;LIGNE(INDIRECT("1:"&NBCAR(A1)));1))*LIGNE(INDIRECT("1:"&NBCAR(A1)))>0;ESTNUM(1*STXT(A1;LIGNE(INDIRECT("1:"&NBCAR(A1)));1))*LIGNE(INDIRECT("1:"&NBCAR(A1)))))+1)

Si ton séparateur décimal est différent de celui présent dans la chaîne
(adapter les arguments dans la fonction SUBSTITUE) :
Validation matricielle :
=1*STXT(SUBSTITUE(A2;".";",");MIN(SI(ESTNUM(1*STXT(A2;LIGNE(INDIRECT("1:"&NBCAR(A2)));1))*LIGNE(INDIRECT("1:"&NBCAR(A2)))>0;ESTNUM(1*STXT(A2;LIGNE(INDIRECT("1:"&NBCAR(A2)));1))*LIGNE(INDIRECT("1:"&NBCAR(A2)))));MAX(ESTNUM(1*STXT(A2;LIGNE(INDIRECT("1:"&NBCAR(A2)));1))*LIGNE(INDIRECT("1:"&NBCAR(A2))))-MIN(SI(ESTNUM(1*STXT(A2;LIGNE(INDIRECT("1:"&NBCAR(A2)));1))*LIGNE(INDIRECT("1:"&NBCAR(A2)))>0;ESTNUM(1*STXT(A2;LIGNE(INDIRECT("1:"&NBCAR(A2)));1))*LIGNE(INDIRECT("1:"&NBCAR(A2)))))+1)

AV
Avatar
Â+
Rebonjour,

Merci beaucoup, c'est parfait (je n'en ai pas douté un instant).
Je dois bien avouer que j'étais un peu simpliste en croyant qu'ajouter
quelque part un caractère aurrait suffit !
C'est au pied du mur qu'on reconnaît le maçon !

Â+




| Je viens d'essayer ta formule avec un nombre à décimales.

Ben j'avais bien précisé dans ma réponse "entier" !
Pour une nombre avec décimales (ou pas) :

Si ton séparateur décimal est le même que celui présent dans la chaîne :
Validation matricielle :
=STXT(A1;MIN(SI(ESTNUM(1*STXT(A1;LIGNE(INDIRECT("1:"&NBCAR(A1)));1))*LIGNE(INDIRECT("1:"&NBCAR(A1)))>0;ESTNUM(1*STXT(A1;LIGNE(INDIRECT("1:"&NBCAR(A1)));1))*LIGNE(INDIRECT("1:"&NBCAR(A1)))));MAX(ESTNUM(1*STXT(A1;LIGNE(INDIRECT("1:"&NBCAR(A1)));1))*LIGNE(INDIRECT("1:"&NBCAR(A1))))-MIN(SI(ESTNUM(1*STXT(A1;LIGNE(INDIRECT("1:"&NBCAR(A1)));1))*LIGNE(INDIRECT("1:"&NBCAR(A1)))>0;ESTNUM(1*STXT(A1;LIGNE(INDIRECT("1:"&NBCAR(A1)));1))*LIGNE(INDIRECT("1:"&NBCAR(A1)))))+1)

Si ton séparateur décimal est différent de celui présent dans la chaîne
(adapter les arguments dans la fonction SUBSTITUE) :
Validation matricielle :
=1*STXT(SUBSTITUE(A2;".";",");MIN(SI(ESTNUM(1*STXT(A2;LIGNE(INDIRECT("1:"&NBCAR(A2)));1))*LIGNE(INDIRECT("1:"&NBCAR(A2)))>0;ESTNUM(1*STXT(A2;LIGNE(INDIRECT("1:"&NBCAR(A2)));1))*LIGNE(INDIRECT("1:"&NBCAR(A2)))));MAX(ESTNUM(1*STXT(A2;LIGNE(INDIRECT("1:"&NBCAR(A2)));1))*LIGNE(INDIRECT("1:"&NBCAR(A2))))-MIN(SI(ESTNUM(1*STXT(A2;LIGNE(INDIRECT("1:"&NBCAR(A2)));1))*LIGNE(INDIRECT("1:"&NBCAR(A2)))>0;ESTNUM(1*STXT(A2;LIGNE(INDIRECT("1:"&NBCAR(A2)));1))*LIGNE(INDIRECT("1:"&NBCAR(A2)))))+1)

AV