IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Macros et VBA Excel Discussion :

Boucle infini importation fichiers .txt


Sujet :

Macros et VBA Excel

  1. #1
    Futur Membre du Club
    Homme Profil pro
    Gestionnaire de parc micro-informatique
    Inscrit en
    Mars 2014
    Messages
    7
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Gestionnaire de parc micro-informatique

    Informations forums :
    Inscription : Mars 2014
    Messages : 7
    Points : 9
    Points
    9
    Par défaut Boucle infini importation fichiers .txt
    Bonjour,

    J'aimerais importer le contenu des fichiers .txt sur un classeur excel via une macro mais une fois que j'ai importé tout les fichiers du répertoire je n'arrive pas à mettre fin à la boucle, il me met erreur d'exécution '76' chemin d'accès introuvable...
    Pourriez-vous m'éclairer ?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    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
    Sub Imports()
        'Déclarations
        Dim Chaine As String
        Dim Ar() As String
        Dim I As Long
        Dim iRow As Long, iCol As Long
        Dim FileName As String
        Dim Path As String
        Dim Separateur As String * 1
        
        'Initialisations
        Separateur = ";"
        Cells.Clear
        iRow = 2
        iCol = 2
        Path = "F:\LOGS\*.txt"
        FileName = "F:\LOGS\" + Dir(Path)
    
    'Boucle sur le répertoire
        While FileName <> ""
           Open FileName For Input As #1
           iCol = 1
           Line Input #1, Chaine
           
            'On parse le fichier dans un tableau
             Ar = Split(Chaine, Separateur)
                      
            'On écrit dans Excel
             For I = LBound(Ar) To UBound(Ar)
                 Cells(iRow, iCol) = Ar(I)
                 iCol = iCol + 1
             Next
             iRow = iRow + 1
            FileName = "F:\LOGS\" + Dir
            
           Close #1
        
        Wend
        
     End Sub

  2. #2
    Invité
    Invité(e)
    Par défaut
    Bonjour

    Ta variable FileName ne sera jamais vide.

    Philippe

  3. #3
    Expert éminent
    Homme Profil pro
    Inscrit en
    Août 2010
    Messages
    3 453
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Août 2010
    Messages : 3 453
    Points : 6 871
    Points
    6 871
    Par défaut
    Bonjour,

    Avec une fonction tableau de récup du chemin et noms des fichiers afin de scinder le code. Adapte la partie récupération des valeurs, je ne me suis pas penché dessus :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    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
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
     
    Sub Imports()
     
        Dim TblFichiers() As String
        Dim Ar() As String
        Dim Chaine As String
        Dim I As Long
        Dim J As Long
        Dim iRow As Long
        Dim iCol As Long
     
        'récupère les fichiers
        TblFichiers = RecupFichiers("F:\LOGS\", ".txt")
     
        iCol = 2
        iRow = 2
     
        'parcour le tableau de fichiers
        For J = 1 To UBound(TblFichiers)
     
            'ouvre en lecture le fichier texte
            Open TblFichiers(J) For Input As #1
     
                Do While Not EOF(1)
     
                    'lecture ligne par ligne
                    Line Input #1, Chaine
     
                     Ar = Split(Chaine, ";")
     
                    'On écrit dans Excel
                     For I = 0 To UBound(Ar)
     
                         Cells(iRow, iCol) = Ar(I)
                         iCol = iCol + 1
     
                     Next
     
                Loop
     
            'ferme
            Close #1
     
            iRow = iRow + 1
     
        Next J
     
    End Sub
     
    Function RecupFichiers(Chemin As String, Ext As String) As String()
     
        Dim TableauFichiers() As String
        Dim Fichier As String
        Dim I As Integer
     
        'stocke les chemins des fichiers dans un tableau
        Fichier = Dir(Chemin & "*" & Ext)
     
        Do While (Len(Fichier) > 0)
     
            I = I + 1
            ReDim Preserve TableauFichiers(1 To I)
            TableauFichiers(I) = Chemin & Fichier
            Fichier = Dir()
     
        Loop
     
        RecupFichiers = TableauFichiers()
     
    End Function
    Hervé.

  4. #4
    Futur Membre du Club
    Homme Profil pro
    Gestionnaire de parc micro-informatique
    Inscrit en
    Mars 2014
    Messages
    7
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Gestionnaire de parc micro-informatique

    Informations forums :
    Inscription : Mars 2014
    Messages : 7
    Points : 9
    Points
    9
    Par défaut
    Merci pour votre aide et la rapidité de la réponse !

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [SQLServer]Script import fichier .txt
    Par Jenbi dans le forum MS SQL Server
    Réponses: 4
    Dernier message: 25/08/2006, 16h49
  2. Importer fichiers txt d'un dossier dans une table
    Par avantoux dans le forum Access
    Réponses: 16
    Dernier message: 28/12/2005, 12h13
  3. import fichier TXT via ACCESS
    Par lepierre dans le forum Access
    Réponses: 4
    Dernier message: 03/12/2005, 06h52
  4. import fichier txt
    Par nogood1 dans le forum SQL Procédural
    Réponses: 2
    Dernier message: 05/10/2005, 11h33
  5. Pb import fichier txt avec lignes de longueurs diverses
    Par zebulon90 dans le forum MS SQL Server
    Réponses: 2
    Dernier message: 09/12/2004, 08h32

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo