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 pour convertir pls centaines de fichiers CSV en XLS. Pb d enregistrement


Sujet :

Macros et VBA Excel

  1. #1
    Futur Membre du Club
    Inscrit en
    Juillet 2010
    Messages
    15
    Détails du profil
    Informations forums :
    Inscription : Juillet 2010
    Messages : 15
    Points : 9
    Points
    9
    Par défaut Boucle pour convertir pls centaines de fichiers CSV en XLS. Pb d enregistrement
    Hello tout le monde

    J'essaie de developper une macro qui convertit tous les fichiers *.csv present dans un repertoir en *.xls . Le problem se situe vers la fin, lorsqu il s agit d enregistrer le fichier excel, en conservant le meme nom que le csv qui vient d'etre converti. Pour le moment, tous les *.xls convertis portent le meme nom ce aui n a evidemment aucun interet. Ci dessous le code

    Merci pour le coup de main

    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
    Sub CSVtoXLS()
     
    End Sub
    Dim i As Integer, wb As Workbook
    With Application.FileSearch
    .NewSearch
    .LookIn = "G:\VBA\201007" 
     
    'Dans ce repertoire se toruvent tous les fichiers dont nom est "nssmi_date.csv" par ex "nssmi_20100701.xls". Le jour suivant, le fichier csv se nommera nssmi_20100702.csv etc...
     
    .SearchSubFolders = False
    .Filename = "*.csv"
    .Execute
    For i = 1 To .FoundFiles.Count
    'Open each workbook
    Set wb = Workbooks.Open(Filename:=.FoundFiles(i))
    'Perform the operation on the open workbook
     
     
    Columns("A:A").Select
    Selection.TextToColumns Destination:=Range("A1"), DataType:=xlDelimited, _
    TextQualifier:=xlDoubleQuote, ConsecutiveDelimiter:=False, Tab:=False, _
    Semicolon:=True, Comma:=False, Space:=False, Other:=False, FieldInfo _
    :=Array(Array(1, 1), Array(2, 1), Array(3, 1), Array(4, 1), Array(5, 1), Array(6, 1), _
    Array(7, 1)), TrailingMinusNumbers:=True
     
    'Maintenant je veux sauver le fichier excel tout just cree dans le repertoit mentionne ci-dessus. Mais je veux que mon nouveau fichier excel porte le meme nom que le csv d'origine. Seule l extension change
    ChDir "G:\VBA\201007\CleanExtract"
     
    "G:\Index Arbitrage - Swaps\VBA\201007\CleanExtract\nssmi_20100701.xls", _
    FileFormat:=xlExcel9795, Password:="", WriteResPassword:="", _
    ReadOnlyRecommended:=False, CreateBackup:=False
     
     
    'Mais le probleme est aue pour chaque *csv file, la macro enregistre avec le meme nom (nssmi_20100701) et je ne sais pas comment introduire le changement de nom dans la macro. 
    'Ici je deplace juste une cellule dans chaque fichier 
     
    wb.Worksheets(1).Select
    wb.Worksheets(1).Range("A1").Select
    Selection.Cut
    Range("D3").Select
    ActiveSheet.Paste
    'Save and close the workbook
    wb.Save
    wb.Close
    'On to the next workbook
    Next i
    End With
    End Sub

  2. #2
    Futur Membre du Club
    Inscrit en
    Juillet 2010
    Messages
    15
    Détails du profil
    Informations forums :
    Inscription : Juillet 2010
    Messages : 15
    Points : 9
    Points
    9
    Par défaut
    en bidouillant un peu

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    strNewName = Replace(wb.Name, ".csv", ".xls")
     
    wb.SaveAs strNewName, FileFormat:=xlExcel9795, Password:="", WriteResPassword:="", _
            ReadOnlyRecommended:=False, CreateBackup:=False

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

Discussions similaires

  1. [AC-2002] Boucle pour importer et traiter des fichiers excel dans un dossier
    Par Tinien dans le forum VBA Access
    Réponses: 9
    Dernier message: 02/06/2010, 11h59
  2. convertir un fichier csv en xls
    Par alain47 dans le forum Excel
    Réponses: 2
    Dernier message: 20/04/2009, 11h50
  3. Réponses: 5
    Dernier message: 13/02/2008, 10h22

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