ouverture .csv par macro ??

  • Initiateur de la discussion yalefe
  • Date de début
Y

yalefe

Guest
Bonjour

j'essaie d'ouvrir un .csv par macro
mas je n'obtiens pas le resultat obtenu

en fait ma macro s'obstine à ne pas voir les ;
elle me met tous les champs dans la première colonne

et le plus curieux c'est qu'en passant par l'enregistreur de macros
( qui forcemment focntionne )

le code ( très succint ) donne ca

ChDir "D:\"
Workbooks.Open Filename:="D:\FFA0000158759.1.CSV"

mais ensuite lorsque je lance le code
et bien ca ne fonctionne pas

j'ai essayé de rajouter des parametres du style

ChDir "D:\"
Workbooks.OpenText Filename:="D:\FFA0000158759.1.CSV", DataType:=xlDelimited, TextQualifier:=xlTextQualifierDoubleQuote

mais pour l'instant nada, rien a faire


si quelqu'un avait la solution
 
Y

yeahou

Guest
Bonjour yalefe, le forum

Mets celà aprés avoir ouvert ton fichier et tu récupéreras tes données en colonne. Magique

Columns("A:A").TextToColumns Destination:=Range("A1"), DataType:=xlDelimited, TextQualifier:=xlDoubleQuote, ConsecutiveDelimiter:=False, Tab:=True, Semicolon:=False, Comma:=False, Space:=False, Other:=False

Bon dimanche, A+
 
Y

yeahou

Guest
Salut Yalefe, myDearFriend, le forum

ça change rien ? j'utilise cette astuce couramment car je travaille souvent sur des csv, elle fonctionne trés bien. Tu l'as bien essayé aprés un
Workbooks.Open Filename:="D:\FFA0000158759.1.CSV"?
Tu as quelle version d'excel ? tu as un fichier csv exemple ?

Pour l'opentext, normalement cela ne doit pas fonctionner car le csv est un format connu d'excel et la routine standard prend le pas sur la commande opentext, ce problème ne survient qu'avec une ouverture d'un csv par macro et est apparu avec excel 97.

Cordialement, A+
 
M

myDearFriend

Guest
Re-Yeahou,

Effectivement, je travaille avec des fichiers avec une extension "exotique" (pas csv) et je n'avais aucun problème de ce genre jusqu'à ce que je teste en rétablissant l'extension d'un de mes fichiers en ".csv".

Tu as raison Yeahou, il y a vraiment un bug que je ne connaissais pas (et tant mieux pour moi lol)

S'il est indispensable de conserver l'extension d'origine des fichiers csv,ta conversion de données post-chargement parait la seule alternative dans ce cas...

Cordialement.
Didier_mDF
 
Y

yalefe

Guest
yeahou

bin non je confirme ca ne marche pas

j'ai créé un fichier csv tout simple
1 en a1 puis 2 en b1 etc ..... puis 6 en b2 7 en c2

visuellement ca donne ca
1 2 3 4 5
6 7 8 9
10 11 12
14 15
16

j'enregistre tout ca en csv

he bien lorsquej'essaie d'ouvrir ce csv par macro y a rien a faire il me colle tout dans la premiere colonne
je suis sous excel 2002
 
Y

yeahou

Guest
Salut Yalefe, MyDearFriend, Le forum

Compris, j'ai testé sous 2002 et je me suis aperçu que l'utilisation de la méthode TextToColumns a été modifiée. Il est bizarre que l'absence d'arguments facultatifs empèche la méthode de s'appliquer, certainement un nouveau bug. En tout cas, en mettant les arguments suivants, la méthode fonctionne correctement sous Excel 2002. Il faut, bien sur, l'utiliser après ton Workbooks.Open.

Cordialement, A+

Columns("A:A").TextToColumns DataType:=xlDelimited, TextQualifier:= _
xlDoubleQuote, ConsecutiveDelimiter:=False, Tab:=False, Semicolon:=False, _
Comma:=False, Space:=False, Other:=False, FieldInfo:=Array(1, 1), _
TrailingMinusNumbers:=True
 

Discussions similaires

Réponses
13
Affichages
2 K
Réponses
13
Affichages
1 K