Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

Conversion CSV vers XLS/XLSX via Macro

MrAntonin

XLDnaute Nouveau
Bonjour,

Je vous explique mon problème :
j'ai créé plusieurs macro permettant de faire appel a des fichiers XLS ou XLSX afin de pouvoir fusionner plusieurs feuilles en une seule et formater de manière plus rapide les cellules.
Mon problème est que tous les fichiers qui me sont fournie sont au format CSV est donc pas exploitable directement j'aimerai donc pouvoir ajouter un code permettant la conversion des fichiers automatiquement cependant impossible de trouver une solution sur le forum ou sur le web en général la seule piste que j'ai c'est :
Cette réponse
Seulement les fichiers résultants sont bien au bon format mais sont toujours pas exploitable par rapport au séparateur je pense ...

Je ne sais pas si cela est réellement possible ?

En vous remerciant par avance,
Cordialement,
MrAntonin
 
Dernière édition:

zebanx

XLDnaute Accro
Bonjour Antonin,

Code à coller dans un fichier xls.
En lancant la macro, tous les csv du REPERTOIRE où est ce fichier seront téléchargés à la suite sur ce fichier xls et avec le nom du csv.

cdlt
zebanx

------

Sub CsvConsolider()
' Insère dans ce fichier tous les CSV du répertoires
ChDir ActiveWorkbook.Path
Set classeurMaitre = ActiveWorkbook
compteur = 1
nf = Dir("*.cs*")
Do While nf <> ""
If nf <> classeurMaitre.Name Then
Workbooks.Open Filename:=nf
For k = 1 To Sheets.Count
Sheets(k).Copy After:=classeurMaitre.Sheets(classeurMaitre.Sheets.Count)
'classeurMaitre.Sheets(classeurMaitre.Sheets.Count).Name = "" & compteur
compteur = compteur + 1
Next k
Workbooks(nf).Close False
End If
nf = Dir
Loop
End Sub
 

MrAntonin

XLDnaute Nouveau
Tout d'abord merci pour la réponse aussi rapide !

Tu trouveras ci-joint le fichier qui en ressort et le problème est que rien est dans les cellules comme lorsque j'importe manuellement

PS: J'ai édité la question avec + de détails sur les pistes que j'avais mais la résultante est toujours la même

Cordialement,
MrAntonin
 
Dernière édition:

zebanx

XLDnaute Accro
Re-bonjour Antonin,

J'ai effectivement vu que les fichiers importés (ou copiés d'ailleurs) ne rappatriaient pas toutes les données lors de la conversion. Possible que ce soit à cause des données non remplies de la colonne 2, je n'ai pas compris pourquoi il y avait ces pertes de données quand on copiait l'onglet du csv et qu'on appuyait sur convertir (avec ';').

J'ai résolu partiellement le problème en espérant que ce soit suffisant.

Donc, ci-joint un zip qui comprend :
- 4 csv à insérer dans le fichier xls "convertir"
- 1 fichier xls "convertir" où sont les macros.

Il faut dézipper le tout, enregistrer les fichiers dans le meme répertoire, ouvrir le fichier XLS et se mettre sur la première feuille puis lancer les macro succesivement.
La première macro va transformer tous les fichiers CSV en xls avec une conversion correcte.
La deuxième macro va les insérer sur le bon fichier.

Cdlt
thierry
 

Pièces jointes

  • convertir.zip
    61.8 KB · Affichages: 166
Dernière édition:

MrAntonin

XLDnaute Nouveau
Bonjour,
Merci de ton aide, j'ai fini par résoudre le problème en épluchant le Ce lien n'existe plus.

Je mets en pièce jointe le fichier contenant mes macros qui permettes de :
- Convertir tous les fichiers csv d'un répertoire en format xls permettant ainsi une meilleure exploitation des données
- "Fusionner" plusieurs fichiers en 1 seuls en important tous d'abord les étiquettes puis les données en les collants dans une feuille buffer (Tampon)
Je donne mon code en esperant que ça aidera certaines personnes, je suis débutant donc le code n'est pas très soignée je m'en excuse...

Bien cordialement,
MrAntonin
 

Pièces jointes

  • fusion_excel.xlsm
    278.8 KB · Affichages: 197

Discussions similaires

Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…