Convertir en masse .csv en .xls
Mopi92
Messages postés
3
Date d'inscription
Statut
Membre
Dernière intervention
-
Mopi92 Messages postés 3 Date d'inscription Statut Membre Dernière intervention -
Mopi92 Messages postés 3 Date d'inscription Statut Membre Dernière intervention -
Bonjour
Je cherche un script VBA pour convertir plusieurs .csv avec un séparateur ; en tableau .xls.
Il faudrait en plus que je puisse choisir les fichiers à convertir et que cela ne supprime pas les sources.
Voilà
Je cherche un script VBA pour convertir plusieurs .csv avec un séparateur ; en tableau .xls.
Il faudrait en plus que je puisse choisir les fichiers à convertir et que cela ne supprime pas les sources.
Voilà
2 réponses
-
Bonjour
voila une macro pour faire des cumuls de fichier CSVSub ListeFichier() Dim Dossier As FileDialog Chemin = ActiveWorkbook.Path & Application.PathSeparator Set Dossier = Application.FileDialog(msoFileDialogOpen) With Dossier .AllowMultiSelect = False .InitialFileName = Chemin .Title = "Choix d'une fichier Elise" With .Filters .Clear .Add "Fichiers Textes", "*.csv", 1 End With .InitialFileName = "" 'Interdit la multi sélection .AllowMultiSelect = False If .Show = -1 Then Fichier = .SelectedItems(1) Call LireFichier(Fichier) Else Exit Sub End If End With Set Dossier = Nothing End Sub Sub LireFichier(NomFichier) Dim Ar() As String With Application .ScreenUpdating = False .EnableEvents = False .Calculation = xlManual End With Sep = ";" Lig = Range("A" & Rows.Count).End(xlUp).Row + 1 If Lig = 2 Then Lig = 1 ' ------------------------------------- Open NomFichier For Input As #1 Do While Not EOF(1) Line Input #1, Chaine Ar = Split(Chaine, Sep) Col = 1 For X = LBound(Ar) To UBound(Ar) Cells(Lig, Col) = Ar(X) Col = Col + 1 Next Lig = Lig + 1 Loop Close #1 ' ------------------------------------- With Application .ScreenUpdating = True .Calculation = xlCalculationAutomatic .EnableEvents = True .CutCopyMode = False .Goto [A1], True End With MsgBox "Terminer" End Sub
A+
Maurice -
Bonjour Maurice
La conversion en tableau est bien faîte.
Par contre j'aurais souhaité que cela créé un nouveau fichier et que cela soit autorisé pour plusieurs fichiers sources simultanément.
1 : lancer la macro (avec un bouton) depuis un fichier exel "macro cumuls de fichiers CSV"
2 : l'explorateur de dossier s'ouvre avec un filtre sur les fichiers type .csv
3 : on est autorisé à choisir 1 ou plusieurs fichiers (100 par ex!)
4 : la macro créée autant de nouveaux fichiers en .xls avec le même nom et les données en tableau (séparation ;) et ils sont enregistrés dans le même dossier que les fichiers sources.
C'est peut-être mieux expliqué sous cette forme.
Merci bien pour tes réponses.
Antoine