XL 2016 Extraction de chaîne de caractère

GeoTrouvePas

XLDnaute Impliqué
Bonjour tout le monde,

Je me retrouve avec des chaînes de caractères très mal formatées du type :
4 Bogies - 9t -1500 - blablabla
2 Bogies- 9t - 1500 - blablabla
2 axles- 6t - 1300 - blablabla
12 Bogies + 3 axles- 6t - 1300 - blablabla
2 Bogies - 12 axles - 6t - 1300 - blablabla
4 Bogies -12 axles- 6t - 1300 - blablabla

Je voudrais arriver à récupérer en VBA, le nombre de Bogies et d'Axles. J'ai bien tenté en utilisant la fonction Split mais les gens ont mal utilisé les espaces et les symboles.

Auriez vous une idée sur comment procéder ?

Je vous remercie par avance,

Bonne journée à tous
 

thebenoit59

XLDnaute Accro
Bonjour Geo.

Avec ta liste à partir de [A1]

VB:
Sub t()
Dim temp
Dim nB%, nA%, i%, n%
Const Bog$ = "bogies"
Const Ax$ = "axles"
With Sheets(1)
    i = 1
    Do While .Cells(i, 1).Value <> ""
        temp = Split(.Cells(i, 1).Value, " ")
        For n = LBound(temp) To UBound(temp)
            If LCase(temp(n)) Like "*" & Bog & "*" Then
                nB = nB + Val(Replace(temp(n - 1), "-", ""))
            ElseIf LCase(temp(n)) Like "*" & Ax & "*" Then
                nA = nA + Val(Replace(temp(n - 1), "-", ""))
            End If
        Next n
    i = i + 1
    Loop
End With
Debug.Print Bog & " " & nB
Debug.Print Ax & " " & nA
End Sub
 

Statistiques des forums

Discussions
312 229
Messages
2 086 426
Membres
103 206
dernier inscrit
diambote