Importer plusieurs centaines de fichiers .Text

Résolu
Bonjour,

Je voudrais savoir si il était possible avec Eexcel 2003 d'importer plusieurs centaines de fichiers .text dans un seul fichier Excel ( les un à la suite des autres). Sans avoir à
les faire un par un.

Merci bien .

Vic

13 réponses

  1. Re
    voila sur 2 feuilles

    http://cjoint.com/?3IEplOl7MEX

    je pense que pour moi ses fini

    A+

    Maurice
    1
    1. Modérateur
      Bonjour,

      C'est faisable par une macro.
      Encore faut-il savoir comment sont les fichiers texte.
      Format txt, csv, autre?
      Nombre de lignes (éventuellement colonnes) de ces fichiers?
      nombre de fichiers texte approximatif?
      0
      1. Bonjour,

        Merci de ta réponse rapide

        Alors il y a 170 lignes et 3 colonnes dans chaques fichiers. Ce sont des .txt. Nommés "jjmmaaaa xxxxxx.txt" Les "x" correspondent à des chiffres aléatoire ( du moins je connais pasleur signification ).

        Ils sont tous dans C:\Multispec\Tests\LDB

        Il y en a autour de 1000 je dirais.

        Merci bien !
        0
        1. Bonjour

          donne au moin un model de ton fichier TxT pour voir les separateure
          voila une macro pour faire une list des Txt

          Sub BoucleFichiersTxt()
          Dim Chemin As String, Fichier As String
          Cells.ClearContents
          Range("A1").Select
          'Définit le répertoire contenant les fichiers Txt
          Chemin = ThisWorkbook.Path & "\FicTxt"
          'Boucle sur tous les fichiers Txt du répertoire.
          Fichier = Dir(Chemin & "*.txt")
          Lig = 1
          Do While Len(Fichier) > 0
          Range("A" & Lig).Value = Chemin & "" & Fichier
          Fichier = Dir()
          Lig = Lig + 1
          Loop
          End Sub

          A+
          Maurice
          0
          1. Salut,

            Merci je vais tester ça.

            Voila un exemple de fichier txt
            https://www.cjoint.com/c/DIDms5s4O4d

            Merci bien

            PS: j'ai jamais fais de macro avant ni de programmation. La macro pour la boucle il faut que je l'insère à quelle niveau de ma macro pour importer ?

            Ci dessous, une macro faire à la souris pour importer le txt. Si je comprends bien, il faut que je mettes la boucle dedans ?

            Sub test()
            '
            ' test Macro
            ' Macro enregistrée le 29/09/2014 par t82phar1
            '

            '
            With ActiveSheet.QueryTables.Add(Connection:= _
            "TEXT;C:\Multispec\Tests\LDB\09292014 084717.txt", Destination:=ActiveCell)
            .Name = "09292014 084717"
            .FieldNames = True
            .RowNumbers = False
            .FillAdjacentFormulas = False
            .PreserveFormatting = True
            .RefreshOnFileOpen = False
            .RefreshStyle = xlInsertDeleteCells
            .SavePassword = False
            .SaveData = True
            .AdjustColumnWidth = True
            .RefreshPeriod = 0
            .TextFilePromptOnRefresh = False
            .TextFilePlatform = 932
            .TextFileStartRow = 1
            .TextFileParseType = xlFixedWidth
            .TextFileTextQualifier = xlTextQualifierDoubleQuote
            .TextFileConsecutiveDelimiter = False
            .TextFileTabDelimiter = True
            .TextFileSemicolonDelimiter = False
            .TextFileCommaDelimiter = False
            .TextFileSpaceDelimiter = False
            .TextFileColumnDataTypes = Array(1, 1, 1)
            .TextFileFixedColumnWidths = Array(23, 15)
            .TextFileTrailingMinusNumbers = True
            .Refresh BackgroundQuery:=False
            End With
            End Sub
            0
        2. Modérateur
          ATTENTION :
          170 lignes par fichier txt multiplié par 1000 fichiers = 170 000 lignes.
          Excel 2003, il va falloir travailler sur au moins 3 feuilles différentes...
          0
          1. Re
            je pense que le separateur est la tabulation

            voila un fichier excel avec les macro listes des ficfier et cumul

            http://cjoint.com/?3IDmK6tu7RQ

            A+
            Maurice
            0
            1. Merci je teste ça demain au boulot et je te dis si ça marche.

              Encore bravo pour la rapidité des réponses. Je suis toujours impressionné !
              0
          2. @Maurice

            J'ai lancé lancer la macro, alors cumul text bug, avec une erreur 75, en disant qu'il y a un problème de chemin d'accés. Le débogage surligne " Open NomFichier For Input As #1"

            J'ai strictement aucune idée de ce qu'il faut corriger...
            0
            1. Bonjour

              il faut changer chemin ex:

              ' Chemin = ThisWorkbook.Path & "\FicTxt\"

              Chemin = "C:\Multispec\Tests\LDB\"

              la je ne peux pas le faire ses a toi de le faire

              A+
              Maurice
              0
              1. Comme toujours merci de ta réponse.
                Même après avoir changé le chemin, il fait toujours erreur 75 et le débogage surligne " Open NomFichier For Input As #1"

                Que dois-je faire ?

                J'ai également remarqué que la feuille est marqué Feuil1 et non Cumul ( qui est son nom dans le fichier excel)
                0
            2. re

              en premier lancer liste Txt

              pour les onglet se decompose en 2
              ex:liste = non de l'onglet
              & Feuil1 = CodeName

              A+
              Maurice
              0
              1. Ok,
                Sauf que quand je lance liste rien ne se passe. Pas de bug, juste rien.
                0
            3. Je viens de remarquer le dossier LDB est en lecture seule es ce que ça peut changer quelques chose.

              NomFichier=vide ( le commentaire quand je mets le curseur dessus). Il ne faut pas que je mette LDB ? ou le nom de mon premier fichier txt ?

              Es ce que je dois replacer Feuil1 par Cumul ?

              Merci bien
              @+ Vic
              0
              1. Voilà le fichier contenant tous mes fichiers textes: http://cjoint.com/?DIEmlJpKPew

                L'idée c'est de tous les mettres sur une ( ou plusieurs feuilles excel) pour pouvoir travailler dessus.

                Je suis un peu perdu.

                @Marcus, je comprends pas comment faire fonctionner ta macro. Qu'es ce que je dois changer d'autre en plus du chemin d'accés ?

                Bien cordialement

                Vic
                0
                1. bonjour

                  Voila une modif pour le chemin

                  http://cjoint.com/?3IEmDOliRUl

                  Lancer la macro 1 & 2 & 3

                  A+

                  Maurice
                  0
                  1. @Maurice.

                    Ca marche super bien. Merci beaucoup pour le coup de main et le temps consacré. Franchement s'est niquel.

                    Bien cordialement

                    @+
                    0