franck6983
Messages postés20Date d'inscriptionlundi 18 avril 2011StatutMembreDernière intervention 6 juillet 2011
-
23 mai 2011 à 09:42
franck6983
Messages postés20Date d'inscriptionlundi 18 avril 2011StatutMembreDernière intervention 6 juillet 2011
-
23 mai 2011 à 11:13
Bonjour à tous,
Je souhaite exporter des feuilles excel dans un fichier csv, ce que j'arrive à faire avec un
mais mon problème est que dans ma feuille ma première colonne est vide et donc mon ficher csv devrait commencer par un ; ce qui n'est pas le cas.
Est-ce que quelqu'un aurait une idée sur le fait que lors de la création de mon fichier ça ne prend pas en compte ma première colonne vide, ou trouver un moyen pour commencer chaque ligne de mon csv par un ; ?
cs_loulou69
Messages postés672Date d'inscriptionmercredi 22 janvier 2003StatutMembreDernière intervention 2 juin 20161 23 mai 2011 à 11:08
Dim applications as string
'ouvrir le fichier d'origine en lecture
applications= "c:\temp\applications.csv"
Open applications For Input As #1
Open Mid(applications, 1, Len(applications) - 4) & "2.CSV" For Output As #2
While Not EOF(1)
'lire le fichier d'origine ligne par ligne
Line Input #1, ligne
'ajouter le point virgule en sortie
Print #2, ";" & ligne
Wend
Close #2
Close #1
'supprimer le fichier d'origine
Kill applications
' renommer le 2ème fichier avec le nom du premier
Name Mid(applications, 1, Len(applications) - 4) & "2.CSV" As applications
cs_loulou69
Messages postés672Date d'inscriptionmercredi 22 janvier 2003StatutMembreDernière intervention 2 juin 20161 23 mai 2011 à 10:23
bonjour
J'ai observé ce que tu écris, si la colonne A est vide elle n'apparait pas dans le fichier de sortie
Lorsque j'ajoute des simples cotes en colonne A et que j'enregistre en format CSV, lorsque je charge le CSV dans Notepad mon fichier CSV par miracle commence par un point-virguke et n'a pas stocké la simple cote.
N'est ce pas ce qui est souhaité?
Autre solution
Si filename est le nom du fichier CSV
La routine suivante ajoutera le point virgule manquant
'ouvrir le fichier d'orginie en lecture
open filename For Input as #1
open mid(filename,1,len(filename)-3) & "2.CSV" For Input as #2
While not EOF(1)
'lire le fichier d'origine ligne par ligne
line input #1, ligne
'ajouter le point virgule en sortie
print #2,";" & ligne
Wend
close #2
close #1
'supprimer le fichier d'origine
Kill filename
' renommer le 2ème fichier avec le nom du premier
Name mid(filename,1,len(filename)-3) & "2.CSV", filename
franck6983
Messages postés20Date d'inscriptionlundi 18 avril 2011StatutMembreDernière intervention 6 juillet 20111 23 mai 2011 à 11:02
tu as bien compris ce que je voulais faire, j'ai testé ta première solution qui ne fonctionne pas pour moi, et j'essaie maintenant avec ton code mais j'ai un message d'erreur "argument ou appel de procédure incorrect" voici le code que j'ai rentré :
'ouvrir le fichier d'orginie en lecture
Open "c:\temp\applications.csv" For Input As #1
Open Mid(applications, 1, Len(applications) - 3) & "c:\temp\2.CSV" For Input As #2
While Not EOF(1)
'lire le fichier d'origine ligne par ligne
Line Input #1, ligne
'ajouter le point virgule en sortie
Print #2, ";" & ligne
Wend
Close #2
Close #1
'supprimer le fichier d'origine
Kill applications
' renommer le 2ème fichier avec le nom du premier
Name Mid(applications, 1, Len(applications) - 3) & "2.CSV" As applications