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
| Function LectureFichier(CheminNomFichier, QuelNumeroDebut, QuelNumeroFin, Statut)
Const ForReading = 1
Dim objFSO
Set objFSO = CreateObject("Scripting.FileSystemObject")
Statut = 0
If Not objFSO.FileExists(CheminNomFichier) Then LectureFichier = "Fichier introuvable": Statut = 1: Set objFSO = Nothing: Exit Function
If QuelNumeroDebut = 0 And QuelNumeroFin = 0 Then 'fichier complet
LectureFichier = objFSO.OpenTextFile(CheminNomFichier, ForReading).ReadAll
LectureFichier = "Erreur lecture fichier": Statut = 5: Set objFSO = Nothing: Exit Function
End If
If QuelNumeroFin = QuelNumeroDebut Then 'Récupération 1 ligne
On Error Resume Next
LectureFichier = Split(objFSO.OpenTextFile(CheminNomFichier, ForReading).ReadAll, vbNewLine)(QuelNumeroDebut - 1)
If Err Then LectureFichier = "Le numéro de ligne dépasse la fin du fichier": Statut = 4: Set objFSO = Nothing: Exit Function
End If
'Récupération de plusieurs lignes
Dim TblLignes, T, PaS
TblLignes = Split(objFSO.OpenTextFile(CheminNomFichier, ForReading).ReadAll, vbNewLine)
If QuelNumeroDebut < QuelNumeroFin Then 'dans l 'ordre ABC.....
PaS = 1: If UBound(TblLignes) < QuelNumeroFin Then QuelNumeroFin = UBound(TblLignes) + 1: Statut = 2
Else 'dans l'ordre CBA....
PaS = -1: If UBound(TblLignes) < QuelNumeroDebut Then QuelNumeroDebut = UBound(TblLignes) + 1: Statut = 3
End If
If UBound(TblLignes) < QuelNumeroDebut And UBound(TblLignes) < QuelNumeroFin Then
LectureFichier = "les numéros de ligne dépassent la fin du fichier": Statut = 4
Set objFSO = Nothing: Set TblLignes = Nothing: Exit Function
End If
For T = QuelNumeroDebut - 1 To QuelNumeroFin - 1 Step PaS
If T <> QuelNumeroDebut - 1 Then LectureFichier = LectureFichier & vbNewLine
LectureFichier = LectureFichier & TblLignes(T)
Next
Set TblLignes = Nothing: Set objFSO = Nothing
End Function
'Appel de la fonction
Dim ChemNomFich, StrRecup, RetourStatut
ChemNomFich = "C:\PersoFrancis\En VBScript et HTA\Lire fichier Mutiple acces\FichierRecup.vbs"
'StrRecup = LectureFichier(ChemNomFich, 0, 0, RetourStatut) 'Le fichier complet
StrRecup = LectureFichier(ChemNomFich, 37, 0, RetourStatut) ' 1 ligne
' ou pour même resultat
'StrRecup = LectureFichier(ChemNomFich, 37, 37, RetourStatut) ' 1 ligne
'StrRecup = LectureFichier(ChemNomFich, 31, 33, RetourStatut) 'plusieurs lignes ordre ABC.....
'StrRecup = LectureFichier(ChemNomFich, 44, 55, RetourStatut) 'plusieurs lignes ordre ABC..... dépassement fin du fichier
'StrRecup = LectureFichier(ChemNomFich, 37, 35, RetourStatut) 'plusieurs lignes ordre BCA.....
'StrRecup = LectureFichier(ChemNomFich, 55, 44, RetourStatut) 'plusieurs lignes ordre BCA..... dépassement fin du fichier
'StrRecup = LectureFichier(ChemNomFich, 55, 57, RetourStatut) 'plusieurs lignes les 2 numéro ligne dépasse la fin du fichier
MsgBox StrRecup & vbNewLine, vbInformation, RetourStatut |
Partager