Le contenu ne suit pas

L_S

XLDnaute Nouveau
Bonjour,

Voici une macro qui me permets de modifier l'extension des classeur en .xls

Sub Convertir_csv_xls()
'Converti *.csv en *.xls

ThisWorkbook.SaveAs Filename:=ActiveWorkbook.Path & "\" & ActiveWorkbook.Name & ".xls"

End Sub

Si vous avez un classeur "Toto.csv", la macro vous ouvrira un deuxième classeur "Toto.csv.xls"

Mon problème est que le contenu ne suit pas.

Comment puis-je faire pour que le contenu suive avec l'apparition du second classeur ?

Merci d'avance.
 
G

Guest

Guest
Re : Le contenu ne suit pas

Bonjour,

Il ne suffit pas de changer l'extension d'un fichier pour en changer le type. Essaie plutôt:
Code:
ThisWorkbook.SaveAs Filename:=ActiveWorkbook.Path & "\" & Split(ThisWorkbook.Name, ".")(0) & ".xls", FileFormat:=xlWorkbookNormal

La fonction Split est là pour ne garder que le nom du fichier sans son extension ".csv"

A+
 

L_S

XLDnaute Nouveau
Re : Le contenu ne suit pas

Merci beaucoup.

Je vous envoie un fichier sous .xls car ce site ne prend pas en charge l'extension .csv

Le but est que ce fichier en .csv se modifie en .xls et surtout que le contenu suive avec cette transformation, chose que je n'arrive pas à faire.

Merci d'avance.
 

Pièces jointes

  • Toto.xls
    16 KB · Affichages: 32
  • Toto.xls
    16 KB · Affichages: 35
  • Toto.xls
    16 KB · Affichages: 33
G

Guest

Guest
Re : Le contenu ne suit pas

Bonjour,

Ton fichier est un xls il ne peut donc servir.

Charge et dé-zippe le fichier .csv joint, ouvre le dans excel. (Les données sont factices)

Alt+F11 -> Editeur de macro Sélectionne le projet qui correspond au fichier dans la liste des projets.
Menu insertion/Module

Dans le module créé colle la macro suivante
Code:
Sub TranformeEnExcel()
Dim Nom As String
Nom = Replace(ActiveWorkbook.Name, ".csv", ".xls")
ThisWorkbook.SaveAs Filename:=ActiveWorkbook.Path & "\" & Nom, FileFormat:=xlWorkbookNormal
End Sub

Lance la et ton fichier se transforme en .xls avec ses données

Mais de toute façon je n'en vois pas l'intérêt puisque cette macro ne servira qu'une fois.
Autant le faire par Enregistrer sous.

A moins que ton projet soit autre?

A+
 

Discussions similaires

Membres actuellement en ligne

Aucun membre en ligne actuellement.

Statistiques des forums

Discussions
312 489
Messages
2 088 855
Membres
103 976
dernier inscrit
kaizertv2001@gmailcom