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 :

[VBA-E] Import de fichier txt multiple


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Décembre 2006
    Messages
    56
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2006
    Messages : 56
    Par défaut [VBA-E] Import de fichier txt multiple
    Bonjour,

    J'ai lu les differents messages du forum traitant du sujet, et j'ai essayer d'ecrire une macro pour importer "n" fichiers textes depuis un repertoire précis, séparateur ",", et un fichier texte par ligne.

    Pour l'index de ligne, j'utilise une cellule qui contient l'index de la ligne vide, valeur que j'augmente de 1 à chaque importation.

    Seulement étant débutant en VBA je n'arrive pas a faire fonctionner le code car je ne comprends pas exactement chaque instructions

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    Private Sub CommandButton1_Click()
    Dim fic As String
    Dim CelVide As Integer
    CelVide = 1
    fic = Dir("C:\text\*.txt")
    Do Until fic = ""
        CelVide = CelVide + 1
        ImportText fic, Cells(CelVide, 1)
        fic = Dir
    Loop
     
    End Sub
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    Sub ImportText(FileName As String, PosImport As Range)
    Dim QT As QueryTable
    Set QT = ActiveSheet.QueryTables.Add(Connection:="TEXT;" & FileName, Destination:=PosImport)
    With QT
        .TextFileSemicolonDelimiter = True
        .TextFileTextQualifier = xlTextQualifierDoubleQuote
        .Refresh
     
    End With
    End Sub
    Bon, ça ne fonctionne pas ^^ Si quelqu'un pouvais m'aider a debboger ce code? merci!

  2. #2
    Inactif  
    Avatar de ouskel'n'or
    Profil pro
    Inscrit en
    Février 2005
    Messages
    12 464
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 12 464
    Par défaut
    Juste quelques précisions
    Tu n'as qu'une ligne dans tes fichiers texte ?
    Tu veux mettre tout le contenu de chaque fichier texte dans une seule cellule (une cellule par fichier texte) ?
    Tu dis
    A+

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Décembre 2006
    Messages
    56
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2006
    Messages : 56
    Par défaut
    Oui une seule ligne
    Non, une donnée par cellule. Le code qui delimite les donnees fonctionne correctement.

    1 fichier txt = 1 ligne txt = 1 ligne excel = n colonnes.

  4. #4
    Inactif  
    Avatar de ouskel'n'or
    Profil pro
    Inscrit en
    Février 2005
    Messages
    12 464
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 12 464
    Par défaut
    Je vais te donner une solution qui n'est pas la tienne mais quel est le problème de ton code ? Toute la ligne se retrouve dans une cellule, avec ses ";" ?
    A tout'

    PS - pour la première ligne, tu me diras ce qui se passe

  5. #5
    Membre averti
    Profil pro
    Inscrit en
    Décembre 2006
    Messages
    56
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2006
    Messages : 56
    Par défaut
    Non c'est juste qu'il ne fonctionne pas xD Probleme de logique, de syntaxe, je ne sais pas mais c'est pas correct. J'arrive juste a importer UN fichier txt dont je connais le nom. Le reste je sais pas faire...

  6. #6
    Inactif  
    Avatar de ouskel'n'or
    Profil pro
    Inscrit en
    Février 2005
    Messages
    12 464
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 12 464
    Par défaut
    Comme je t'ai dit, je ne reprends pas ta solution qui me paraît lourde pour des fichier ne comportant qu'une ligne. Si cela ne t'ennuie pas de tester ça, je pourrai t'aider en cas de pb. Je n'ai pas encore compris si ta ligne, dans le fichier texte, avaient plusieurs données séparées par un ";" (semicolon) car dans ton code, tu mets .TextFileSemicolonDelimiter = True et que tu colles la ligne dans une seule cellule.
    Tu me diras
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    Private Sub CommandButton1_Click()
    Dim fic As String
    Dim CelVide As Integer
        CelVide = 1
        fic = Dir("C:\text\*.txt")
        Do Until fic = ""
            CelVide = CelVide + 1
            Open fic For Input As #1
            Line Input #1, LaLigne
            Cells(CelVide, 1) = LaLigne
            Close
            fic = Dir
        Loop
    End Sub
    A+

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

Discussions similaires

  1. [AC-2007] importer un fichier .txt vers ma table access en vba ?
    Par Debutant10 dans le forum VBA Access
    Réponses: 13
    Dernier message: 05/11/2011, 17h38
  2. [VBA-excel] import de fichier txt sans délimiteur de texte
    Par VBBBA dans le forum Macros et VBA Excel
    Réponses: 6
    Dernier message: 17/01/2008, 05h49
  3. Import de fichiers txt en VBA avec paramètres automodulabes
    Par guiguisb dans le forum VBA Access
    Réponses: 0
    Dernier message: 10/09/2007, 11h20
  4. probleme d'import de fichier txt avec des tab
    Par lecureuil dans le forum Access
    Réponses: 4
    Dernier message: 23/08/2005, 19h22
  5. .bat pour l'import de fichier txt dans postgres
    Par pseudomh dans le forum PostgreSQL
    Réponses: 1
    Dernier message: 25/03/2005, 00h02

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