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 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56
| Option Explicit
Sub SelFichier()
Dim sChemin As String
sChemin = ThisWorkbook.Path
With Application.FileDialog(msoFileDialogFilePicker)
.InitialFileName = sChemin & "\"
.Title = "Sélectionner le fichier TXT"
.AllowMultiSelect = False
.ButtonName = "Sélection Fichier"
.Filters.Clear
.Filters.Add "Texte", "*.txt", 1
.Show
If .SelectedItems.Count > 0 Then
DoEvents
Lecture .SelectedItems(1)
End If
End With
End Sub
Private Sub Lecture(sNomFichier As String)
Dim sChaine As String
Dim NumFichierIn As Integer, NumFichierOut As Integer
Dim sFichierOut As String, i As Long
Dim Ar() As String, sOut As String
Const sSeparateur As String = ";"
Close
sFichierOut = ThisWorkbook.Path & "\" & "FichierOut.csv"
NumFichierIn = FreeFile
Open sNomFichier For Input As #NumFichierIn
NumFichierOut = FreeFile
Open sFichierOut For Output As #NumFichierOut
Do While Not EOF(NumFichierIn)
Line Input #NumFichierIn, sChaine
sOut = ""
If ExistenceFichier(sChaine) Then
sOut = sChaine & sSeparateur
sChaine = Replace(sChaine, "c:\", "")
Ar = Split(sChaine, "\")
For i = LBound(Ar) To UBound(Ar)
sOut = sOut & Ar(i) & sSeparateur
Next i
Print #NumFichierOut, sOut
End If
Loop
Close #NumFichierOut
Close #NumFichierIn
End Sub
Private Function ExistenceFichier(sFichier As String) As Boolean
ExistenceFichier = Dir$(sFichier) <> ""
End Function |
Partager