CSV et open (encore)

L

Louis

Guest
Bopnjour

Comme beaucoup, j'ai des problèmes pour ouvrir des .csv en vba.

en effet selon la version d'excel et le séparateur utilisé, le comportement est différent.

mes fichiers sont en séparateur ';'

en V9 un simple worbook.open( 'mon_fichier.csv') fontionnait sans problème

si cette macro est lancée sur une v 10 seul les ',' sont considérées comme séparateur...

car... en v10 un paramètre supplémentaire à fait sont apparition dans workbook.open à savoir Local

si j'ajoute à worbook.open 'mon_fichier.csv' , Local:=TRUE

le problème est résolu mais je ne peux plus executer cette macro sur une version antérieur ....

Je pensais avoir résolu le problème en ajoutant

if val( application.version) > 9 then
worbook.open 'mon_fichier.csv' , Local:=TRUE
else
worbook.open 'mon_fichier.csv'
if end

mais le Loacal:= true génère une erreur avant execution :S

y a t il moyen d'executer du code contenu dans une chaine afin de ne pas générer d'erreur de syntaxe ?

ou toute autre astuce

Merci

Louis



La solution serait donc d
 
L

Louis

Guest
Re bonjour

je me suis trouvé une solution : ...


v = Val(Application.Version)
If v > 9 Then
#Const V10 = 1
Else
#Const V9 = 1
End If

...
...
...



#If V10 Then
Workbooks.Open 'P:\\AD.SOCIETE\\EXPORT\\Stats' & Right(année, 2) & Format(m_c_n, '00') & '.csv', Local:=True
#Else
Workbooks.Open 'P:\\AD.SOCIETE\\EXPORT\\Stats' & Right(année, 2) & Format(m_c_n, '00') & '.csv'
#End If


qu'en pensez-vous ?


merci

Louis
 

Statistiques des forums

Discussions
312 932
Messages
2 093 731
Membres
105 802
dernier inscrit
Witchun