Bonjour, je cherche à extraire des nombres contenus dans diverses chaines de caractère. Un exemple sera plus compréhensible

Chaine _______________________________Resultat souhaité

Studette 9 m²__________________________9
Studio 2 pièces 39 m²____________________39
Chambre de service 5 m² ________________ 5
Appartement 3 pièces 65 m²_______________ 65
Appart 2 pièces 45 m²___________________45

Les chaines de caractères finissent toujours par "m²" et mais les chaines de caractères avant la surface de l'appartement sont aléatoires (studios, studio, chambre, appartement, appart...)

J'avais réalisé le code suivant

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
Sub Bouton1_Clic()
    Dim C As Range, Plage As Range, Txt As String, X As Variant
    With Sheets("Feuil1")
        Set Plage = .Range(.[A1], .Cells(.Rows.Count, 1).End(xlUp))
    End With
    With Sheets("Feuil2")
        For Each C In Plage
            Txt = ""
            For i = 1 To C.Characters.Count
                X = C.Characters(i, 1).Text
                If X = "," Or (X >= 0 And X <= 9) Then
                    Txt = Txt & X
                End If
            Next
            If Txt <> "" Then
                    .Cells(C.Row, 1).Value = CDbl(Txt)
                End If
        Next C
    End With
End Sub
Mais elle ne donne pas le bon résultat...
Par exemple pour "Appartement 3 pièces 65 m² ", cela renvoie 365 et non 65...

Merci beaucoup de votre aide !!

Bonne journée