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
Mais elle ne donne pas le bon résultat...
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
Par exemple pour "Appartement 3 pièces 65 m² ", cela renvoie 365 et non 65...
Merci beaucoup de votre aide !!
Bonne journée
Partager