Recherche nombre dans chaine de caractère

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 !

Jacques25

XLDnaute Occasionnel
Bonjour à tous,

Je souhaiterai dans une chaine de caractère de longueur variable, trouver lorsque qu'il y en a, un nombre de 1 ou 2 chiffres, j'ai beau retourner toutes les formules dans tout les sens je n'y arrive pas j'ai essayé avec 1 ou plusieurs cellule de calcul mais rien y fait.

Par exemple :

basse pression poste 10 batiment E ==> 10
porte 8 ouverte ==> 8

Si toutefois quelqu'un peut m'aider ça m'arrangerai beaucoup.

Merci

Jacques
 
Re : Recherche nombre dans chaine de caractère

Bonjour,

Voici une fonction

Function pf(chaine)
Application.Volatile
pf = ""
tmp3 = 0
chaine = Replace(chaine, ",", " ") ' si chiffre suivi de ,
tab1 = Split(chaine, " ")
For b = 0 To UBound(tab1)
If Val(tab1(b)) + 1 <> 1 Then
tmp3 = b
pf = Val(tab1(b))
b = UBound(tab1) ' pour s'arreter au premier chiffre rencontré
End If
Next
End Function


fonction que tu appelles dans ta cellule, l'argement est la cellule qui contient la chaine
 
Re : Recherche nombre dans chaine de caractère

Bonjour à tous,

un formule matricielle mélangée à une fonction du package MOREFUNC de laurent longre.

=MCONCAT(SI(ESTERREUR(CNUM(STXT($A$2;COLONNE(INDIRECT("1:"&NBCAR($A$2)));1)));"";STXT($A$2;COLONNE(INDIRECT("1:"&NBCAR($A$2)));1)))

la chaîne à traiter est en A2 et il faut valider la saisie par CTRL+MAJ+ENTER

MOREFUNC contient aussi des solutions à base d'expressions régulières mais michel_m a déjà fourni une solution de ce type.

cordialement
 
Re : Recherche nombre dans chaine de caractère

Merci à tous,

Je n'ai pas tout essayé mais je le ferai ne serait ce que pour augmenter mes connaissances, je pense que j'utiliserai la formule de monique plus simple à mettre en place pour les moins calés en VBA.

Encore merci pour votre travail.

@ plus

Jacques
 
Re : Recherche nombre dans chaine de caractère

Bonjour le Fil, le Forum

Un poil plus court, sans matricielle :

=1*STXT(A1;MIN(TROUVE({0;1;2;3;4;5;6;7;8;9};A1 & "0123456789"))-1;3)

a condition, comme le précise Monique, que tu n'es pas plus de 2 chiffres dans ton nombre

Bonne fin de journée

PhiBou
 
- 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

Réponses
11
Affichages
538
Réponses
7
Affichages
797
Retour