Fichier en CSV - convertir données avec macro
Julien99
-
pijaku Messages postés 13513 Date d'inscription Statut Modérateur Dernière intervention -
pijaku Messages postés 13513 Date d'inscription Statut Modérateur Dernière intervention -
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 bin - Guide
- Fichier epub - Guide
- Fichier rar - Guide
- Comment réduire la taille d'un fichier - 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
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,