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 |
Partager