[Resolu] Ouvrir un fichier ".csv" par macro proprement

Ouvrir un fichier ".csv" par macro proprement [Resolu] - VB/VBA/VBS - Programmation

Marsh Posté le 05-06-2010 à 23:09:19    

Bonjour
 
Lorsque j'ouvre un fichier au format ".csv" dans une cession Excel les donnée se trouvent bien rangées dans chaque colonne. mais ce même fichier ouvert via une macro VBA, les données se trouvent rassemblées en une ou plusieurs colonne, les données étant séparées par un point virgule (ce qui est normal).
 
1 - Pourquoi se retrouvent t-elles dans plusieurs colonnes avant la conversion ?
2 - Pourquoi, lors de la conversion pour répartir les données dans chaque colonne, les VIRGULES, sont considérées comme des points virgules, décalant ainsi les données d'autant de colonne qu'il y a de virgules ?
 
Je vous remercie pour aide
 
 
Pixel72


Message édité par Pixel72 le 07-06-2010 à 19:33:22
Reply

Marsh Posté le 05-06-2010 à 23:09:19   

Reply

Marsh Posté le 06-06-2010 à 01:39:14    

Salut, le pb est du même acabit que pour le SaveAs
Depuis XL 2002, l'export en CSV via VBA prend par défaut pour séparateur une "," sauf si on le fait à la main : Fichier Enregistrer sous CSV (séparateur point-virgule)  
Ajouter Local:=True
 


ActiveWorkbook.SaveAs Filename:= "c:\DATA.csv",Local:=True


 
Extrait de l'aide en ligne VBA :
True enregistre les fichiers en fonction de la langue de Microsoft Excel (y compris les paramètres du Panneau de configuration). False (valeur par défaut) enregistre les fichiers en fonction de la langue de Visual Basic pour Applications VBA(qui est généralement l'anglais des États-Unis, sauf si le projet VBA où Workbooks.Open est exécuté est un ancien projet VBA XL5/95 de niveau international).
 


Workbooks.Open Filename:="C:\DATA.csv", Local:=True


Message édité par kiki29 le 06-06-2010 à 02:06:12
Reply

Marsh Posté le 06-06-2010 à 09:16:09    

Merci kiki29 pour ces informations, je vais faire le test en ajoutant "Local:=True"

Reply

Marsh Posté le 07-06-2010 à 19:32:28    

Merci kiki29 ça marche impec

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed