Sub RechercheCSV()
Dim fichier As Variant, ligdeb%, derlig&, ub&, col1%, col2%, sep$, s$, a(), x%, i&, texte$, y$, deb%, fin%, n&
'---fichier CSV---
fichier = Application.GetOpenFilename("Fichiers csv (*.csv),*.csv")
If fichier = False Then Exit Sub
ligdeb = 2
derlig = 4
ub = derlig - ligdeb
col1 = 4
col2 = 24
sep = ";"
s = ","
ReDim a(ub) 'base 0
x = FreeFile
Open fichier For Input As #x 'ouverture du fichier en lecture séquentielle
Do
i = i + 1
Line Input #x, texte
If i >= ligdeb Then
texte = Replace(texte, sep, s) 'remplacement du séparateur
y = Replace(texte, s, sep, , col1 - 1)
deb = InStr(y, s)
y = Replace(texte, s, sep, , col2)
fin = InStrRev(y, sep)
a(ub - n) = Mid(texte, deb + 1, fin - 1 - deb)
n = n + 1
End If
Loop While i < derlig
Close #x
'---fichier TXT---
fichier = Left(fichier, Len(fichier) - 3) & "txt" 'même chemin, même nom
x = FreeFile
Open fichier For Output As #x 'ouverture du fichier en écriture séquentielle
Print #x, Join(a, vbCrLf)
Close #x
MsgBox "Le fichier TXT a été créé..."
End Sub