Fichier en CSV - convertir données avec macro
Fermé
Julien99
-
9 févr. 2011 à 19:31
pijaku Messages postés 12263 Date d'inscription jeudi 15 mai 2008 Statut Modérateur Dernière intervention 4 janvier 2024 - 10 févr. 2011 à 16:47
pijaku Messages postés 12263 Date d'inscription jeudi 15 mai 2008 Statut Modérateur Dernière intervention 4 janvier 2024 - 10 févr. 2011 à 16:47
Bonjour,
Je dois updater des fichiers tous les jours, et pour cela, je dois les convertir puisqu'ils sont en CSV.
Existe-t'il une formule en VBA pour selectionner la premiere colonne (A) qui contient toutes les données réunies, ensuite faire "convertir", et enfin "mettre des virgules" pour répartir les données sur les différentes colonnes?
Merci beaucoup,
Jul
Je dois updater des fichiers tous les jours, et pour cela, je dois les convertir puisqu'ils sont en CSV.
Existe-t'il une formule en VBA pour selectionner la premiere colonne (A) qui contient toutes les données réunies, ensuite faire "convertir", et enfin "mettre des virgules" pour répartir les données sur les différentes colonnes?
Merci beaucoup,
Jul
A voir également:
- Fichier en CSV - convertir données avec macro
- Telecharger macro convertir chiffre en lettre excel - Télécharger - Tableur
- Fichier rar - Guide
- Convertir youtube en mp3 avec audacity - Guide
- Comment réduire la taille d'un fichier - Guide
- Comment ouvrir un fichier epub ? - Guide
2 réponses
Bonjour,
Si je comprends bien vous avez des fichiers de types [.csv] avec des point-virgult [ ; ] qui
sépare les données. Vous voulez transformer le [ ; ] par une virgule dans le fichier [ .CSV ].
Si j'ai bien compris, utiliser le code suivant pour modifier les fichiers [ .CSV ] visé.
Info
Si je comprends bien vous avez des fichiers de types [.csv] avec des point-virgult [ ; ] qui
sépare les données. Vous voulez transformer le [ ; ] par une virgule dans le fichier [ .CSV ].
Si j'ai bien compris, utiliser le code suivant pour modifier les fichiers [ .CSV ] visé.
Option Explicit Const ForReading = 1, ForWriting = 2 Sub TransformerFichier() Dim objFSO As Object, objFichier As Object Dim Dossier As Variant, Ligne As Long, Boucle As Long Dim strTexte As String, strRetour As String, Boite() As String Dim Longueur As Long, Compteur As Long Set objFSO = CreateObject("Scripting.FileSystemObject") ' Adapter le lecteur ChDrive "C" ' Adapter le chemin d'accès ChDir "C:\Document\Work" Dossier = Dir("*.csv") While Dossier <> "" Set objFichier = objFSO.OpenTextFile(Dossier, ForReading) Compteur = 1 While Not objFichier.AtEndOfStream strTexte = objFichier.ReadLine Longueur = Len(strTexte) For Boucle = 1 To Longueur If (Mid(strTexte, Boucle, 1) = ";") Then strRetour = strRetour & "," Else strRetour = strRetour & Mid(strTexte, Boucle, 1) End If Next Boucle ReDim Preserve Boite(Compteur) Boite(Compteur - 1) = strRetour strRetour = "" Compteur = (Compteur + 1) Wend objFichier.Close Set objFichier = objFSO.CreateTextFile(Dossier, ForWriting) For Boucle = 0 To (UBound(Boite()) - 1) objFichier.WriteLine Boite(Boucle) Next Boucle objFichier.Close Dossier = Dir() Wend MsgBox "Traitement terminé." End Sub
Info
pijaku
Messages postés
12263
Date d'inscription
jeudi 15 mai 2008
Statut
Modérateur
Dernière intervention
4 janvier 2024
2 757
10 févr. 2011 à 16:47
10 févr. 2011 à 16:47
Bonjour,
je dois les convertir puisqu'ils sont en CSV Oui d'accord mais les convertir en quoi? En dollars, en fichiers excel, en autre format ou avec un autre délimiteur comme le propose info?
Pour le cas ou vous souhaiteriez les transformer en .xls et que vous ne disposiez pas d'excel 2007, je vous propose ceci :
https://www.commentcamarche.net/faq/16109-excel-convertir-fichier-s-csv-xls
cordialement,
je dois les convertir puisqu'ils sont en CSV Oui d'accord mais les convertir en quoi? En dollars, en fichiers excel, en autre format ou avec un autre délimiteur comme le propose info?
Pour le cas ou vous souhaiteriez les transformer en .xls et que vous ne disposiez pas d'excel 2007, je vous propose ceci :
https://www.commentcamarche.net/faq/16109-excel-convertir-fichier-s-csv-xls
cordialement,