Lecture et Création d'un fichier texte
2 fonctions pour récupérer le contenu, d'un fichier texte et générer un fichier texte
- Code : Tout sélectionner
Function FileCreate(Byval wPathFile As String, wlstData List As String,Byval wInsert As String) As Integer
'wPathFile = chemin et niom du fichier a créer
'wlstData ,= variable de type liste, uneligne de la variable = une ligne du fichier
'wInsert = type d'insertion : avec ou sans les guillemets
'DéclarationVariable
Dim nbfileNum As Long
On Error Goto ErreurFileCreate
If Trim(wPathFile) = "" Then
Error 9999,"wPathFile vide"
FileCreate = False
Exit Function
End If
'Créé et ouvre le fichier texte
nbfileNum = Freefile()
Open wPathFile For Output As nbfileNum
If nbfileNum=0 Then
Msgbox "Impossible de créer le fichier : "+Chr(10)+Chr(10)+wPathFile,16,"ERREUR !"
FileCreate = False
Exit Function
End If
Select Case Ucase(Trim(wInsert))
Case "W","WRITE"
If Isempty(wlstData) Then
Write # nbfileNum, ""
Else
Forall value In wlstData
Write # nbfileNum, Cstr(value)
End Forall
End If
Case "P","PRINT"
If Isempty(wlstData) Then
Print # nbfileNum, ""
Else
Forall value In wlstData
Print # nbfileNum, Cstr(value)
End Forall
End If
Case Else
If Isempty(wlstData) Then
Write # nbfileNum, ""
Else
Forall value In wlstData
Write # nbfileNum, Cstr(value)
End Forall
End If
End Select
Close nbfileNum
FileCreate = True
nbfileNum = 0
Exit Function
ErreurFileCreate:
Msgbox "(FileCreate) Erreur " + Str(Err) + " : "+Chr(10) + Cstr(Error)+". "+Chr(10)+"Ligne N° "+Cstr(Erl),16," ERREUR !"
Close nbfileNum
nbfileNum = 0
FileCreate = False
Exit Function
End Function
- Code : Tout sélectionner
Function FileReade(wPathFile As String) As Variant
'Récupere le contenu d'un fichier texte
'une lecture par ligne de fichier et le renvois dans une variable liste
'Déclaration Variable
Dim lstValue List As String
Dim nbfileNum As Long
Dim i As Long
Dim FileData As String
On Error Goto ErreurFileReade
If Trim(wPathFile) = "" Then
Error 9999,"wPathFile vide"
Set FileReade = Nothing
Exit Function
End If
nbfileNum = Freefile()
Open wPathFile For Input Access Read As nbfileNum
If nbfileNum=0 Then
Msgbox "Impossible de créer le fichier : "+Chr(10)+Chr(10)+wPathFile,16,"ERREUR !"
Set FileReade = Nothing
Exit Function
End If
i=0
FileData = ""
While Not Eof(nbfileNum)
i=i+1
Line Input #nbfileNum, FileData
lstValue(i) = FileData
FileData = ""
Wend
Close nbfileNum
If i = 0 Then
Set FileReade = Nothing
Else
FileReade = lstValue
End If
nbfileNum = 0
i = 0
Erase lstValue
Exit Function
ErreurFileReade:
Msgbox "(FileReade) Erreur " + Str(Err) + " : "+Chr(10) + Cstr(Error)+". "+Chr(10)+"Ligne N° "+Cstr(Erl),16," ERREUR !"
Close nbfileNum
nbfileNum = 0
i = 0
Erase lstValue
Set FileReade = Nothing
Exit Function
End Function