Convertir un fichier CSV en XLS

Bonjour.

Mon classeur "LISTE.CSV" contient plusieurs colonnes au format CSV. Je voudrais récupérer les colonnes "D G J M et P" dans un nouveau classeur de telle façon à avoir la colonne D dans feuil1, la colonne G dans feuil2, ...

Ensuite convertir chaque feuille au format XLS par "DONNEE CONVERTIR..." en éclatant chaque colonne en CSV en 4 colonnes: "DATE HEURE LIBELLE ETAT".

La colonne ETAT doit contenir l'information "NON OPERATIONN" ou "OPERATIONNEL". Le tout een VBA

Merci pour votre aide

135liste.zip (1.92 Ko)

sais-tu la faire au clavier et à la souris ?

(fichier ouvrir, .cvs, et choisir le séparateur dans la boîte de dialogue)

si oui, tente d'enregistrer le tout dans l'enregistreur de macros

5coprod.xlsm (149.06 Ko)

Bonjour.

Merci jmd pour votre réponse mais le problème est que quand j'utilise l'enregistreur de macro ca marche très bien. Par contre quant je réexecute la macro une 2eme fois ca marche pas. Il me sort "ERREUR 1004" au niveau de :

"Selection.TextToColumns Destination:=Range("A1"), DataType:=......"

Voici le code de mon enregistreur de Macro

Sub Convert()

'

Workbooks.Open Filename:= _

"C:\Documents and Settings\Administrateur\Bureau\Liste.csv"

Columns("D:D").Select

Selection.Copy

Workbooks.Add

ActiveSheet.Paste

Application.CutCopyMode = False

Selection.TextToColumns Destination:=Range("A1"), DataType:=xlFixedWidth, _

FieldInfo:=Array(Array(0, 1), Array(10, 1), Array(21, 1), Array(66, 1)), _

TrailingMinusNumbers:=True

ActiveWorkbook.SaveAs Filename:= _

"C:\Documents and Settings\Administrateur\Bureau\liste.xls", FileFormat:= _

xlNormal, Password:="", WriteResPassword:="", ReadOnlyRecommended:=False _

, CreateBackup:=False

Windows("Liste.csv").Activate

Columns("G:G").Select

Selection.Copy

Windows("liste.xls").Activate

Sheets("Feuil2").Select

ActiveSheet.Paste

Application.CutCopyMode = False

Selection.TextToColumns Destination:=Range("A1"), DataType:=xlFixedWidth, _

FieldInfo:=Array(Array(0, 1), Array(10, 1), Array(21, 1), Array(51, 1)), _

TrailingMinusNumbers:=True

End Sub

re à toi

il est possible qu'il faille que la macro clique en A1 juste avant (positionner le curseur en A1)

sur Google, avec Excel erreur 1004, on trouve d'autres suggestion sous Excel 2003

Rechercher des sujets similaires à "convertir fichier csv xls"