Import dans Excel

F

Fred

Guest
Bonjour à tous,

Plateforme: Windows2000 Pro ou XP, Excel 2000 ou XP
Environnement: Français

Je tente d'importer un fichier csv dans Excel. Si je fais cette opération intéractivement, cela fonctionne correctement. Quand je fais la même opération a l'intérieur d'un VBA à l'aide de la commande suivante:

Workbooks.Open Filename:=((Sheets("cellules").Cells(1, 5)) + "\bomimport.csv"), format:=6, delimiter:=";"

cela ne fonctionne pas. Tout est importé dans la première cellule. Le séparateur est ignoré. Le contournement consiste à mettre une virgule à la place du ;. Ce qui est étrange c'est que si j'enregistre la macro lors de l'ouverture du fichier, Excel se contente de faire Workbooks.Open Filename:="nom du fichier". Le résultat est satisfaisant. Si je relance alors la macro enregistrée, cela ne fonctionne plus. Tout est dans la première cellule !!!!

Have you a solution ????
 
F

Fred

Guest
Ca y est, j'ai trouvé une solution plus générique. Le fichier à importer doit porter l'extention txt. Utiliser alors les commandes suivante:

Workbooks.OpenText Filename:=((Sheets("cellules").Cells(1, 5)) + "\bomimport.txt"), Origin:=xlWindows, _
StartRow:=1, DataType:=xlDelimited, TextQualifier:=xlNone, _
ConsecutiveDelimiter:=False, Tab:=False, Semicolon:=True, Comma:=False _
, Space:=False, Other:=False, FieldInfo:=Array(Array(1, 2), Array(2, 2), _
Array(3, 2), ......, Array(50, 2))

où Array(X,Y) représente le nombre potentiel de colonnes à traiter. Toutes les colones sont de type Texte dans cet exemple afin de ne pas dénaturer les données source (en l'occurrence, les données du type 10-11 ou +DMP2)

Heu,.... Merci ????
 

Discussions similaires

Statistiques des forums

Discussions
313 105
Messages
2 095 347
Membres
106 246
dernier inscrit
Christelle CUPIT