Comment isoler une valeur numérique avec une expression réguliére

Bonjour,

J’ai réalisé une macro en VBA pour extraire le cours en bourse des valeurs qui m’intéressent.

À chaque valeur J’identifie la partie du code HTML utile comme suivant :

image

Mais je n’arrive pas à trouver une même expression régulière qui me permet d’extraire la valeur boursière (ici en rouge) quelle que soit la forme numérique de la valeur boursière.

Par exemple cette expression (\d+\s\d+,\d+) fonctionne pour la 1ere valeur mais pas pour les suivantes.

Avez-vous une idée ?

Merci par avance

Bonjour à tous !

Une possibilité :

(\d+\s*\d+,\d+)
image

Bonjour,
Une proposition Copilot à adapter :

Function ExtraireNombres(ByVal strTexte As String) As Double
Dim regex As Object
Dim matches As Object
Dim resultat As String
Dim i As Integer

    Set regex = CreateObject("VBScript.RegExp")
    regex.Pattern = "\d{1,3}(?:[\s,]\d{3})*(?:[,.]\d+)?"
    regex.Global = True

    Set matches = regex.Execute(strTexte)

    resultat = ""
    For i = 0 To matches.Count - 1
        resultat = resultat & matches(i).Value & vbNewLine
    Next i

    ExtraireNombres = Trim(resultat)

End Function

Cdlt.

Bonjour Alain56,

Voici une proposition :

Je te propose 2 solutions :

1 extraction sous format texte

2 un peu plus compliqué sous format numérique où il est nécessaire d'éliminer les "blanc" quand le nombre dépasse "1 000"

N'hésites pas à poser les questions nécessaires pour plus d'explications.

Bonne continuation

Chris

Merci à JFL,Jean-Eric et CHRIS1945

J'étudie vos propositions et je reviens vers vous

Cordialement à tous 3

Rechercher des sujets similaires à "comment isoler valeur numerique expression reguliere"