1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
| Sub tablobanqueexa()
Dim tablo, tablo2(500, 3)
Dim laChaine As String, x, fichier As String, donnée As String
tablo2(0, 0) = "type de compte": tablo2(0, 1) = "banque": tablo2(0, 2) = "Solde"
fichier = ThisWorkbook.Path & "\testexa.txt"
x = FreeFile
Open fichier For Input As #x
laChaine = Input(LOF(x), #x)
Close #x
laChaine = Replace(laChaine, "BNP Multiplacements 2", "il y a *" & "BNP Multiplacements 2")
laChaine = Replace(Replace(Replace(Split(Split(laChaine, "Tous mes comptes")(1), "Mes notifications")(0), "heures", "*"), "jours", "*"), "hier", "*")
tablo = Split(laChaine, vbCrLf)
For i = 0 To UBound(tablo)
If InStr(tablo(i), "il y a ") > 0 Then
a = a + 1
tablo2(a, 0) = Split(tablo(i), "*")(1)
donnée = tablo(i + 1)
tablo2(a, 1) = Split(nom_ou_solde(donnée, "[0-9]"), ",")(0)
tablo2(a, 2) = nom_ou_solde(donnée, "[a-z-A-Z|é|'|\(|\)|]")
End If
Next
Sheets(1).Cells(1, 1).Resize(a, 3) = tablo2
End Sub
Function nom_ou_solde(donnée, matrice)
With CreateObject("VBScript.RegExp")
.Global = True
'.IgnoreCase = True
.Pattern = matrice
nom_ou_solde = .Replace(donnée, "")
End With
End Function |