Accueil Compétences Patterns Microsoft Office Récuperer un fichier txt dans Excel

Récuperer un fichier txt dans Excel

Clique:
1973

Réponse

une petite fonction qui permet d'alimenter un onglet à partir d'un fichier
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
Function f_getFile(szFileImport, szOngletDest)
 
    ' on crée un objet pour manipuler le fichier
    Set obj = CreateObject("Scripting.FileSystemObject")
 
    'premiere étape : l'ouverture du fichier en lecture
    Set objFileInfo = obj.OpenTextFile(szFileImport, 1, 0)
    'on récupère entièrement le fichier que l'on place dans un tableau
    ' attention en fin de ligne on a soit vbCr, soit vbLf au lieu de vbCrLf
    tblLgnFile = Split(objFileInfo.Readall, vbCrLf)
    objFileInfo.Close
    Set objFileInfo = Nothing
    ' une fois récupéré on supprime le fichier ou pas
    'obj.deletefile (szFile)
    Set obj = Nothing
 
    ' seconde étape l'alimentation de l'onglet
    For iLigne = 1 To UBound(tblLgnFile) - 1
        ' on découpe la ligne de donnée selon les séparateur ; , tabulation ...
        tblinfos = Split(tblLgnFile(iLigne), ";") '
 
        ' ici on peut ajouter un test pour ne pas récuperer la ligne
        ' idem on peut modifier le contenu des cellules du tableau (reformatage, ...)
 
        ' on parcourt les colonnes pour les positionner sur l'onglet
        For icolonne = 1 To UBound(tblinfos) - 1
            ' attention l'onglet commence à 1, le tableau à 0 (d'où le -1)
            Sheets(szOngletDest).Cells(iLigne, icolonne) = tblinfos(icolonne - 1)
        Next
    Next
End Sub

Attention à bien paramétrer le caractère de fin de fichier et le séparateur