GetOpenFilename et les ";"

D

dth_2003

Guest
Bonjour le Forum,

Je me permet de reposer une question qui n'avait pas eu beaucoup de succès voici quelque temps.

Afin d'ouvrir un fichier *.csv dans avec mon application (ou elle doit aller recueillir des infos) j'utilise la fonction suivante :

ChDir "C:\Documents and Settings\DTH\Desktop"
chemin = Application.GetOpenFilename("Fichier Texte(*.csv),*.csv")
If chemin <> False Then Workbooks.Open chemin


Mais le hic, c'est qu'il prend par défaut les "," comme séparateur de colonne et non les ";", comment faire pour changer cela. Il existe surement un filtre ou des arguments qui existe mais j'avoue qui je n'y comprend rien. Alors merci du coup de main.

dth_2003
 
P

pascal76

Guest
Bonjour,

Je n'ai pas le code sous les yeux mais si tu enregistres une macro et que tu ouvres ton fichier csv avec les ; comme séparateur tu as la solution.
Je l'ai fait ça marche.

Sinon je te l'envoie demain matin.

Bon courage

Pascal
 
P

Pascal76

Guest
bonjour,

essaie ce code avec moi cela marche

ChDir "C:\"
Workbooks.OpenText Filename:="C:\fichier.csv", Origin:=xlWindows, _
StartRow:=1, DataType:=xlDelimited, TextQualifier:=xlDoubleQuote, _
ConsecutiveDelimiter:=False, Tab:=False, Semicolon:=True, Comma:=False _
, Space:=False, Other:=False


Bon courage

Pascal
 
D

dth_2003

Guest
C'est génial, merci Pascal.

J'ai un peu adapter vu que je ne connais pas au départ le nom du fichier, mais grace a un de mes ancien post sur plus ou moins le même sujet, j'y suis parvenu, voici le résultat au cas où :

ChDir "C:\Documents and Settings\DTH\Desktop"
chemin = Application.GetOpenFilename("Fichier Texte(*.csv),*.csv")
If chemin <> False Then Workbooks.Open chemin
monclasseur = ActiveWorkbook.Name
Workbooks.OpenText Filename:=monclasseur, Origin:=xlWindows, _
StartRow:=1, DataType:=xlDelimited, TextQualifier:=xlDoubleQuote, _
ConsecutiveDelimiter:=False, Tab:=False, Semicolon:=True, Comma:=False _
, Space:=False, Other:=False


Enfin merci, tu m'évite plein de complication.

j'y retourne...

dth
 
D

dth_2003

Guest
Je me suis réjouis trop vite, je n'avais pas fait attention que pour mes test j'avais remplacer mes vigules par un autre caractère, et donc c'est normal que cela marchait bien, je viens de le refaire avec les virgules et bien fugire toi que cela fait exactement la même chose et donc la virgule gêne.

Si tu as encore des idées merci encore.

dth
 

Discussions similaires

Statistiques des forums

Discussions
314 149
Messages
2 106 381
Membres
109 575
dernier inscrit
LucieG24K