Extraire un nombre décimal d'un texte

  • Initiateur de la discussion Initiateur de la discussion ufernet
  • Date de début Date de début

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 !

ufernet

XLDnaute Junior
Bonjour,

Je souhaite extraire avec une formule ou une macro un nombre qui peut avoir un chiffre, deux chiffres ou être décimal (exemple 12,5) La décimale sera toujours ,5 et le maximum de chiffre avant la virgule ou sans virgule sera de 2. La difficulté majeure pour moi c'est que dans le texte il peut y avoir des chiffres accolés au texte sans espace et que je ne veux pas extraire.

Sur le forum j'ai trouvé une formule qui fonctionne bien sauf pour les nombres décimaux et pour les chiffres collés au texte (il s'agit du nom d'un service).

J'ai joint un exemple avec le résultat espéré et la formule matricielle trouvé sur le forum.

Merci
 

Pièces jointes

Re : Extraire un nombre décimal d'un texte

Bonjour,
Voici un exemple de macro (test ok)
Bruno
Code:
Sub metvaleur()
For lig = 2 To [A65000].End(3).Row
y = "": tt = ""
tx = Cells(lig, 1)
x = Len(tx)
For k = x To 1 Step -1
y = Mid(tx, k, 1)
If y = "," Or IsNumeric(y) Then tt = y & tt: ok = True
If ok And y = " " Then ok = False: Exit For
Next
Cells(lig, 2) = CDbl(tt)
Next
End Sub
 
Re : Extraire un nombre décimal d'un texte

Bonsoir,

Une solution avec une formule matricielle qui semble fonctionner :

Code:
=STXT(A2;EQUIV(1;(GAUCHE(STXT(A2;LIGNE($1:$50);2))=" ")*(ESTNUM(DROITE(STXT(A2;LIGNE($1:$50);2))*1));0)+1;MAX(ESTNUM(STXT(A2;LIGNE($1:$50);1)*1)*LIGNE($1:$50))-EQUIV(1;(GAUCHE(STXT(A2;LIGNE($1:$50);2))=" ")*(ESTNUM(DROITE(STXT(A2;LIGNE($1:$50);2))*1));0))

Formule matricielle à valider par CTRL + MAJ + ENTREE

Principe : repérer le rang d'un chiffre précédé d'un espace jusqu'au rang du dernier caractère numérique.

A tester sur un échantillon plus vaste et plus varié

@+
 
Re : Extraire un nombre décimal d'un texte

Bonsoir à tous


1) Utiliser Données/Convertir
dconv.jpg
2) Utiliser une formule de ce type:
=MOD(A1;1)*100

exemple si en A1: 123,45 et qu'on utilise la formule ci-dessus on obtient : 45
 
Dernière édition:
Re : Extraire un nombre décimal d'un texte

Bonjour,

Merci pour toutes ces solutions. Celle de James007 marche sauf pour les décimaux. La formule matricielle de Tibo marche dans tous les cas (1254 enregistrements!) La macro de Youki fonctionne bien mais s'arrête si elle ne trouve que du texte sans nombre. Merci à tous mon problème est résolu plutôt 4 fois qu'une.
 
- 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
1
Affichages
384
Retour