extraction chiffre à virgule dans un texte vba Excel

agadiroufla

XLDnaute Junior
Bonjour,
Je fais appel à vous car je suis un peu bloqué.
avez vous un code VBA ou une forule qui permettrait d'extraire uniquement le chiffre à virgule dans un texte?
Exemple:
ABN AMRO BANK NV 3.375% 21/01/2014 -----> extraire dans A2 3.375
AREVA 4.625% 05/10/2017 ----> extraire dans A3 4.625
AUCHAN SA 4.75% 15/04/15 *EUR ---->extraire dans A4 4.75
AUTOROUTES PARIS RHIN-RH 5% 12/01/2017 ---->extraire dans A5 5
BANQUE POP 2.625% 07/12/2012 --->extraire dans A6 2.625
BAYERISCHE 3.5% 08/10/13 *EUR ---> extraire dans A7 3.5
et ainsi de suite.
Merci de votre aide.
 

Pierrot93

XLDnaute Barbatruc
Re : extraction chiffre à virgule dans un texte vba Excel

Bonjour,

un exemple pour traiter la cellule active, je te laisse adapter à ton projet, une boucle devrait suffire :
Code:
Dim s As String
s = Split(ActiveCell, "%")(0)
s = Mid(s, InStrRev(s, " ") + 1)

bonne journée
@+
 

tototiti2008

XLDnaute Barbatruc
Re : extraction chiffre à virgule dans un texte vba Excel

Bonjour agadiroufla, Bonjour Pierrot :)

pour le plaisir de le faire en formule ;)

Code:
=DROITE(SUBSTITUE(GAUCHE(A1;CHERCHE("%";A1)-1);" ";"µ";NBCAR(GAUCHE(A1;CHERCHE("%";A1)-1))-NBCAR(SUBSTITUE(GAUCHE(A1;CHERCHE("%";A1)-1);" ";"")));NBCAR(GAUCHE(A1;CHERCHE("%";A1)-1))-CHERCHE("µ";SUBSTITUE(GAUCHE(A1;CHERCHE("%";A1)-1);" ";"µ";NBCAR(GAUCHE(A1;CHERCHE("%";A1)-1))-NBCAR(SUBSTITUE(GAUCHE(A1;CHERCHE("%";A1)-1);" ";"")))))
 

BOISGONTIER

XLDnaute Barbatruc
Repose en paix
Re : extraction chiffre à virgule dans un texte vba Excel

Bonsoir,

Code:
Sub essai()
  For Each c In [A1:A5]
    c.Offset(, 1) = num(c)
  Next c
End Sub

Function num(c)
  Application.Volatile
  Set obj = CreateObject("vbscript.regexp")
  obj.Pattern = "\d+.*\d*%"
  Set a = obj.Execute(c)
  If a.Count > 0 Then num = Left(a(0), Len(a(0)) - 1) Else num = ""
End Function

Par formule

Code:
=STXT(A1;EQUIV(VRAI;ESTNUM(CNUM(STXT(A1;LIGNE($1:$255);1)));0);NB(--(STXT(SUBSTITUE(GAUCHE(A24;CHERCHE("%";A1)-1);".";"0");LIGNE($1:$255);1))))
Valider avec maj+ctrl+entrée

pour num

=SUBSTITUE(STXT(A1;EQUIV(VRAI;ESTNUM(CNUM(STXT(A1;LIGNE($1:$232);1)));0);NB(--(STXT(SUBSTITUE(GAUCHE(A1;CHERCHE("%";A1)-1);".";"0");LIGNE($1:$232);1))));".";",")*1


JB
 

Pièces jointes

  • RegExpNum.xls
    31 KB · Affichages: 66
Dernière édition:

Discussions similaires

Statistiques des forums

Discussions
312 308
Messages
2 087 105
Membres
103 469
dernier inscrit
Thibz