Bonjour,
J'ai plusieurs fichiers CSV que je souhaite convertir en xls. Si je le fais "à la main" c'est à dire j'ouvre le fichier, je fais enregistrer sous je choisis xls pas de problème. J'ai bien à la fin dans mon fichier xls une information par cellule.
Si je le fais au moyen d'une macro soit en rédigeant une moi même soit en utilisant l'enregistreur de macro j'obtiens un résultat différent en règle générale dans la première colonne de chaque ligne du fichier xls j'obtiens valcolonne1 ; valeur colonne2 ; etc.
Parce qu'en me relisant je me trouve pas du tout clair, je mets en pièce jointe un exemple avec le fichier original, sa variante enregistrée à la main, sa variante enregistrée au moyen de la macro.
Bien sûr je voudrais arriver à obtenir le résultat "à la main" avec ma macro parce que j'ai beaucoup, beaucoup de fichiers.
Ci après le code que j'utilise, qui est une adaptation d'un code proposé sur ce forum
En remerciant par avance les âmes charitables qui voudront bien se pencher sur mon cas.
Cordialement Asnor
PS : j'ai essayé de faire une recherche sur le forum mais CSV est trop court comme critère de recherche. Toutes mes excuses donc si je viens poser une question moulte fois résolue.
J'ai plusieurs fichiers CSV que je souhaite convertir en xls. Si je le fais "à la main" c'est à dire j'ouvre le fichier, je fais enregistrer sous je choisis xls pas de problème. J'ai bien à la fin dans mon fichier xls une information par cellule.
Si je le fais au moyen d'une macro soit en rédigeant une moi même soit en utilisant l'enregistreur de macro j'obtiens un résultat différent en règle générale dans la première colonne de chaque ligne du fichier xls j'obtiens valcolonne1 ; valeur colonne2 ; etc.
Parce qu'en me relisant je me trouve pas du tout clair, je mets en pièce jointe un exemple avec le fichier original, sa variante enregistrée à la main, sa variante enregistrée au moyen de la macro.
Bien sûr je voudrais arriver à obtenir le résultat "à la main" avec ma macro parce que j'ai beaucoup, beaucoup de fichiers.
Ci après le code que j'utilise, qui est une adaptation d'un code proposé sur ce forum
Code:
Sub convertisseur()
Dim maitre As String ' déclaration de la variable de type chaîne
Dim lefichier As String
Dim b As Long
Dim t As Integer
Dim recherche As String
Dim nvfi As String
Application.ScreenUpdating = False ' désactive l'affichage
maitre = ActiveWorkbook.Name ' le nom du classeur actif est affecté à maître
lefichier = Dir("C:\Traitement\*.csv")
While lefichier <> ""
Workbooks.Open "C:\Traitement\" & lefichier ' ouverture du fichier
ChDir "C:\Traitement"
ActiveWorkbook.SaveAs Filename:="C:\Traitement\" + Mid(ActiveWorkbook.Name, 1, Len(ActiveWorkbook.Name) - 4) & ".xls", FileFormat:=xlExcel5, Password:="", WriteResPassword:="", ReadOnlyRecommended:=False, CreateBackup:=False
nvfi = ActiveWorkbook.Name
Workbooks(nvfi).Close ' fermeture du fichier
lefichier = Dir() ' pour affecter le nom de fichier suivant
Workbooks(maitre).Activate
Wend
Application.ScreenUpdating = True ' active l'affichage
End Sub
En remerciant par avance les âmes charitables qui voudront bien se pencher sur mon cas.
Cordialement Asnor
PS : j'ai essayé de faire une recherche sur le forum mais CSV est trop court comme critère de recherche. Toutes mes excuses donc si je viens poser une question moulte fois résolue.