Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

extraire un nombre d'un champs texte

4 réponses
Avatar
ChP
Bonjour,

je souhaiterais savoir s'il existe une formule permettant d'extraire un
nombre compris dans un champs texte d'une cellule ? Par exemple extraire la
valeur "65" de la valeur "toto65" ?

d'avance merci

C.

4 réponses

Avatar
patrick.lyon
une façon foireuse de le faire serait de remplacer le "a" par rien, le
"b" par rien etc...

Dans son message précédent, "ChP" a écrit :
Bonjour,

je souhaiterais savoir s'il existe une formule permettant d'extraire un
nombre compris dans un champs texte d'une cellule ? Par exemple extraire la
valeur "65" de la valeur "toto65" ?

d'avance merci

C.



--
Ceci est une signature automatique de MesNews.
Site : http://mesnews.no-ip.com
Avatar
AV
> je souhaiterais savoir s'il existe une formule permettant d'extraire un
nombre compris dans un champs texte d'une cellule ? Par exemple extraire la
valeur "65" de la valeur "toto65" ?



Une matricielle (validation par 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))))

Pour des valeurs éventuellement décimales (séparateur de la chaine =
séparateur système), la formule va s'allonger...
=1*STXT(A11;MIN(SI(ESTNUM(1*STXT(A11;LIGNE(INDIRECT("1:"&NBCAR(A11)));1))*LIGNE(INDIRECT("1:"&NBCAR(A11)))>0;ESTNUM(1*STXT(A11;LIGNE(INDIRECT("1:"&NBCAR(A11)));1))*LIGNE(INDIRECT("1:"&NBCAR(A11)))));MAX(ESTNUM(1*STXT(A11;LIGNE(INDIRECT("1:"&NBCAR(A11)));1))*LIGNE(INDIRECT("1:"&NBCAR(A11))))-MIN(SI(ESTNUM(1*STXT(A11;LIGNE(INDIRECT("1:"&NBCAR(A11)));1))*LIGNE(INDIRECT("1:"&NBCAR(A11)))>0;ESTNUM(1*STXT(A11;LIGNE(INDIRECT("1:"&NBCAR(A11)));1))*LIGNE(INDIRECT("1:"&NBCAR(A11)))))+1)

AV
Avatar
Misange
ouahhh !
j'adore ! ca fait très magique :-) et tout ça pour sortir 65.2...
quand le formuliste sort du bois c'est pas pour rien !
Misange migrateuse
XlWiki : Participez à un travail collaboratif sur excel !
http://xlwiki.free.fr/wiki
http://www.excelabo.net

AV a écrit :
je souhaiterais savoir s'il existe une formule permettant d'extraire un
nombre compris dans un champs texte d'une cellule ? Par exemple extraire la
valeur "65" de la valeur "toto65" ?



Une matricielle (validation par 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))))

Pour des valeurs éventuellement décimales (séparateur de la chaine =
séparateur système), la formule va s'allonger...
=1*STXT(A11;MIN(SI(ESTNUM(1*STXT(A11;LIGNE(INDIRECT("1:"&NBCAR(A11)));1))*LIGNE(INDIRECT("1:"&NBCAR(A11)))>0;ESTNUM(1*STXT(A11;LIGNE(INDIRECT("1:"&NBCAR(A11)));1))*LIGNE(INDIRECT("1:"&NBCAR(A11)))));MAX(ESTNUM(1*STXT(A11;LIGNE(INDIRECT("1:"&NBCAR(A11)));1))*LIGNE(INDIRECT("1:"&NBCAR(A11))))-MIN(SI(ESTNUM(1*STXT(A11;LIGNE(INDIRECT("1:"&NBCAR(A11)));1))*LIGNE(INDIRECT("1:"&NBCAR(A11)))>0;ESTNUM(1*STXT(A11;LIGNE(INDIRECT("1:"&NBCAR(A11)));1))*LIGNE(INDIRECT("1:"&NBCAR(A11)))))+1)

AV




Avatar
Pierre F.
ChP a écrit :

je souhaiterais savoir s'il existe une formule permettant d'extraire un
nombre compris dans un champs texte d'une cellule ? Par exemple extraire la
valeur "65" de la valeur "toto65" ?



Bonjour;

Une formule, je ne sais pas faire :-( mais une macro pour tester des
"mots" dans la colonne B (lignes 1 à 50) et les envoyer en C.
Elle récupère les chiffres dans l'ordre de lecture: ainsi, Act34PP71
sera récupéré en colonne C: 3471

----------------
Sub esssai()
For q = 1 To 50

Mot = Cells(q, 2)
NombreCh = ""

For Compteur = 1 To Len(Mot)
Select Case Mid(Mot, Compteur, 1) 'récupère les chiffres
Case "1", "2", "3", "4", "5", "6", "7", "8", "9", "0"
NombreCh = NombreCh & Mid(Mot, Compteur, 1)
End Select

Next

Cells(q, 3) = NombreCh

Next q
End Sub
------------------

Cordialement,
Pierre F.