1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18
| Sub MaRecupText()
Dim Txt$
Txt = "03/07/2017;200038579;4822575354;S;1,00;2,50;21;"
MsgBox RecupText(Txt, ";", 1, 7)
Txt = "11/07/2017;300003017;4822581676;S;1,00;11,80;92.69;"
MsgBox RecupText(Txt, ";", 1, 7)
End Sub
Function RecupText(Txt As String, Cara As String, Optional Nb As Integer, Optional Deb As Integer = 1, Optional Fin As Integer) As String
Dim i As Integer, TxToTab, TabToTxt
TxToTab = Split(Txt, Cara)
Deb = Deb - 1: If Fin > 0 Then Fin = Fin - 1 Else If Nb = 0 And Fin = 0 Then Fin = UBound(TxToTab) Else Fin = Deb + Nb - 1
If Fin > UBound(TxToTab) Or Deb > Fin Or Deb > UBound(TxToTab) Then _
RecupText = "Fonction non valide, vérifier les paramètres : " & vbCrLf & """Nb"", ""Deb"" ou ""Fin""": Exit Function
ReDim TabToTxt(Deb To Fin)
For i = Deb To UBound(TabToTxt): TabToTxt(i) = TxToTab(i): Next
RecupText = Join(TabToTxt, Cara)
End Function |
Partager