Est-il possible de convertir par lots des csv en xls en utilisant une macro?

J'ai une grande quantité de csv les fichiers que j'ai besoin de .xls format. Est-il possible d'exécuter une conversion en lots avec une macro ou mieux de le faire avec une autre langue?

J'ai utilisé ce code http://www.ozgrid.com/forum/showthread.php?t=71409&p=369573#post369573 pour faire référence à mon répertoire, mais je ne suis pas sûr de la commande pour ouvrir chaque fichier et de les enregistrer. Voici ce que j'ai:

Sub batchconvertcsvxls()
    Dim wb As Workbook
    Dim CSVCount As Integer
    Dim myVar As String

    myVar = FileList("C:\Documents and Settings\alistairw\My Documents\csvxlstest")
    For i = LBound(myVar) To UBound(myVar)

        With wb

            Application.Workbooks.OpenText 'How do I reference the myvar string ?
            wb.SaveAs '....

        End With

    Next
End Sub

Function FileList(fldr As String, Optional fltr As String = "*.*") As Variant
    Dim sTemp As String, sHldr As String
    If Right$(fldr, 1) <> "\" Then fldr = fldr & "\"
    sTemp = Dir(fldr & fltr)
    If sTemp = "" Then
        FileList = Split("No files found", "|") 'ensures an array is returned
        Exit Function
    End If
    Do
        sHldr = Dir
        If sHldr = "" Then Exit Do
        sTemp = sTemp & "|" & sHldr
    Loop
    FileList = Split(sTemp, "|")
End Function

Edit: Les fichiers sont .txt des fichiers formatés au format csv

Un lien intéressant : softinterface.com/... Si vous effectuez une recherche Google il y a d'autres logiciels qui le font déjà. Toutefois, si vous faites cela comme un exercice alors ignorer le lien 🙂

OriginalL'auteur Alistair Weir | 2012-05-29