Convertir en masse .csv en .xls
Mopi92
Messages postés
3
Statut
Membre
-
Mopi92 Messages postés 3 Statut Membre -
Mopi92 Messages postés 3 Statut Membre -
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à
A voir également:
- Convertir csv en xls automatiquement
- Telecharger macro convertir chiffre en lettre excel - Télécharger - Tableur
- Convertir epub en kindle - Guide
- Convertir kindle en epub - Guide
- Automatiquement - Guide
- Convertir audio en texte word - Guide
2 réponses
Bonjour
voila une macro pour faire des cumuls de fichier CSV
A+
Maurice
voila une macro pour faire des cumuls de fichier CSV
Sub 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
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
J'ai ajouté une réponse au sujet pour compléter l'explication du cas que je souhaite traiter.
@+