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] Encore opération sur fichier txt


Sujet :

Macros et VBA Excel

  1. #1
    Membre du Club
    Inscrit en
    Octobre 2006
    Messages
    127
    Détails du profil
    Informations forums :
    Inscription : Octobre 2006
    Messages : 127
    Points : 53
    Points
    53
    Par défaut [VBA-E] Encore opération sur fichier txt
    Bonjour,
    Le code suivant permet de transformet un fichier texte en excel.
    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
    Sub ListFilesInFolder(strFolderName As String, bIncludeSubfolders As Boolean)
      ' adapté de Ole P Erlandsen
      ' necessite d'activer la reference Microsoft Scripting RunTime
      Static FSO As FileSystemObject
      Dim oSourceFolder As Scripting.Folder
      Dim oSubFolder As Scripting.Folder
      Dim oFile As Scripting.File
      Dim wksDest As Worksheet
      Dim Classeur As Workbook
     
        Set wksDest = ActiveSheet
        Set FSO = CreateObject("Scripting.FileSystemObject")
      Set oSourceFolder = FSO.GetFolder(strFolderName)
     
      For Each oFile In oSourceFolder.Files
     
            Workbooks.OpenText Filename:=oFile, _
                DataType:=xlDelimited, Tab:=True
     
               ActiveWorkbook.SaveAs Filename:="C:\txt\Extraction\xls\" & FSO.GetBaseName(oFile.Name) & ".xls", _
                FileFormat:=xlNormal, Password:="", WriteResPassword:="", _
                ReadOnlyRecommended:=False, CreateBackup:=False
     
            Set wksDest = Workbooks.Open(oFile.Path)
            Set wksDest = Classeur.Worksheets.Add()
            wksDest.Name = "Recap"
     
      ActiveWorkbook.Close
      Next oFile
     
    End Sub
    Le problème c'est au niveau de l'ajout d'une feuille Recap avant d'enregistrer et de quitter, comment corriger?

    Merci d'avance.

  2. #2
    Expert éminent sénior


    Profil pro
    Inscrit en
    Juin 2003
    Messages
    14 008
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 14 008
    Points : 20 038
    Points
    20 038
    Par défaut
    tiens j'ai pas le temps de tester ... mais modifie ta boucle ainsi ..


    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
     
    ...
     For Each oFile In oSourceFolder.Files
     
         set Classeur =   Workbooks.OpenText Filename:=oFile, _
                DataType:=xlDelimited, Tab:=True
     
               Classeur.SaveAs Filename:="C:\txt\Extraction\xls\" & FSO.GetBaseName(oFile.Name) & ".xls", _
                FileFormat:=xlNormal, Password:="", WriteResPassword:="", _
                ReadOnlyRecommended:=False, CreateBackup:=False
     
             Set wksDest = Classeur.Worksheets.Add()
            wksDest.Name = "Recap"
     
         Classeur.Close true
      Next oFile
     
     
    ...

  3. #3
    Membre du Club
    Inscrit en
    Octobre 2006
    Messages
    127
    Détails du profil
    Informations forums :
    Inscription : Octobre 2006
    Messages : 127
    Points : 53
    Points
    53
    Par défaut
    Bonjour,

    Je crois qu'il y un problème avec
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    set Classeur =   Workbooks.OpenText Filename:=oFile, _
                DataType:=xlDelimited, Tab:=True
    Je ne sais pas comment corriger

  4. #4
    Expert éminent sénior


    Profil pro
    Inscrit en
    Juin 2003
    Messages
    14 008
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 14 008
    Points : 20 038
    Points
    20 038
    Par défaut
    essai de rajouter des parenthèses...

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    et Classeur =   Workbooks.OpenText( Filename:=oFile, _
                DataType:=xlDelimited, Tab:=True)

  5. #5
    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
    Points : 15 543
    Points
    15 543
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
            Workbooks.OpenText Filename:=oFile, DataType:=xlDelimited, Tab:=True
            Set classeur = ActiveWorkbook

  6. #6
    Membre du Club
    Inscrit en
    Octobre 2006
    Messages
    127
    Détails du profil
    Informations forums :
    Inscription : Octobre 2006
    Messages : 127
    Points : 53
    Points
    53
    Par défaut
    Merci le code fonctionne

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

Discussions similaires

  1. Opérations de synthèse sur fichiers txt
    Par arnest dans le forum Macros et VBA Excel
    Réponses: 5
    Dernier message: 14/12/2007, 14h30
  2. [VBA-E] Opérations sur fichiers txt
    Par anisr dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 07/04/2007, 19h19
  3. [VBA-E] Opération sur fichiers xls dans un même répertoir
    Par anisr dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 20/03/2007, 11h58
  4. [VBA-E] Parcourir un repertoir et opérations sur fichiers xls
    Par anisr dans le forum Macros et VBA Excel
    Réponses: 17
    Dernier message: 08/03/2007, 16h48
  5. opérations sur fichier
    Par mmx dans le forum C
    Réponses: 8
    Dernier message: 07/01/2006, 14h13

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