Lecture fichier csv

salut,

je suis en train de faire une macro pour ouvrir un fichier csv et le copier dans une feuille.

le fichier csv contient du texte dans la colonne A. Exemple :

Cellule A1 : 2.52340,48.84300,"DA_30_1762"

Cellule A2 : 2.69607,48.94449,"DA_30_1763"

Cellule A3 : 5.77050,45.06898,"DA_30_1764"

Cellule A4 : -4.24664,48.48694,"DA_30_1765"

C'est ce que j'obtiens en double cliquant sur le fichier, dans excel.

Avec la macro que j'utilise :

Dim Chemin As String, Fichier As String, Temp As String
Dim NumLigne As Long, NumCol As Integer
Dim FF As Integer, I As Integer
Chemin = "D:\test\"
Fichier = Dir(Chemin & "*.csv")
NumLigne = ActiveCell.Row
NumCol = ActiveCell.Column
With ActiveSheet
  FF = FreeFile
  Do While Fichier <> ""
    Open Chemin & Fichier For Input As #FF
    Do While Not EOF(FF)
      Line Input #FF, Temp
      Table = Split(Temp, vbTab)
        .Cells(NumLigne, NumCol + I) = Table(I)
      NumLigne = NumLigne + 1
    Loop
    Close #FF
    Fichier = Dir
  Loop
End With

j'ai une erreur car quand la macro fait le split, le split ne voit pas plusieurs ligne mais une seule ligne comme cela :

2.52340,48.84300,"DA_30_1762"#2.69607,48.94449,"DA_30_1763"#5.77050,45.06898,"DA_30_1764"#-4.24664,48.48694,"DA_30_1765"

avec à la place de # un petit carré.

Comment est ce possible car comme dit plus haut, quand je double clique sur le fichier csv, excel m'affiche bien plusieurs lignes...

Apparemment, il y a un problème de format avec ce fichier csv. (sur d'autres fichiers csv qui proviennent d'autre part, la macro marche...)

Comment faire pour résoudre ce problème, svp ?

merci !

Bonjour

telecofr a écrit :

Comment est ce possible car comme dit plus haut, quand je double clique sur le fichier csv, excel m'affiche bien plusieurs lignes...

Pourquoi tu ne charges pas directement

Il faudrait joindre le fichier csv qui pose problème

charger directement, non car j'ai plusieurs fichiers à charger et je souhaite automatiser les manips à faire sur les fichiers d'où une macro.

ci joint le fichier posant problème.

quand j'essaye la macro sur ce fichier, il y a l'erreur cf mon premier message.

13sites.zip (30.38 Ko)

Bonjour

Comme avec celui-ci tu ne peux pas appliquer la même méthode qu'aux autres, pourquoi ne pas appliquer aux autres la méthode pour ce fichier ?

Peux tu passer un fichier Csv qui "passe" bien ?

Tant qu'à ne pas être lu, aussi bien effacer la réponse.

Banzai64 a écrit :

Bonjour

Comme avec celui-ci tu ne peux pas appliquer la même méthode qu'aux autres, pourquoi ne pas appliquer aux autres la méthode pour ce fichier ?

Peux tu passer un fichier Csv qui "passe" bien ?

Ci joint un fichier qui marche

par contre quand je veux traiter le fichier OK.csv avec ce code :

'Ré-organisation du fichier
   .Columns("A:A").TextToColumns Destination:=.Range("A1"), DataType:=xlDelimited, _
        TextQualifier:=xlDoubleQuote, ConsecutiveDelimiter:=False, Tab:=False, _
        Semicolon:=False, Comma:=True, Space:=False, Other:=True, OtherChar:= _
        "_", FieldInfo:=Array(Array(1, 1), Array(2, 1), Array(3, 1), Array(4, 1), Array(5, 1), Array(6, 1)) _
        , TrailingMinusNumbers:=True
    .Columns("A:B").Replace What:=".", Replacement:=".", LookAt:=xlPart, _
        SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, _
        ReplaceFormat:=False

je ne sais pas pourquoi, mais la dernière, excel n'arrive pas à "éclater" la cellule : pouvez vous me dire pourquoi ??

merci !

Le fichier qui marche est un fichier converti en csv (ANSI) par le logiciel POI Editor

Le fichier qui ne fonctionne pas est un fichier provenant d'un site internet de POI : je le téléchargerai régulièrement pour mettre ma base de POI à jour, donc il faut que je puisse l'ouvrir !

merci pour l'aide !

9ok.csv (131.00 Octets)

Bonjour

Cette macro fonctionne avec les 2 fichiers csv (ou alors zépavu)

Merci BanzaÏ64 pour la macro : ca marche à présent !

Myta, je ne me souviens plus de ton message : je n'ai pas accès facilement à internet en ce moment.

Je ne vois pas pourquoi tu as effacé ta réponse...

Merci à tous pour votre aide en tout cas !

Rechercher des sujets similaires à "lecture fichier csv"