Bonjour,
J'utilise le code suivant pour importer un fichier CSV (séparé par des points virgules) dans un onglet d'une feuille excel:
Pour le fichier CSV "CT001_S38.csv" ci-joint cela fonctionne parfaitement.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33 Dim fichier As String 'fichier csv d'entrée Dim cpt As Integer 'Compteur de ligne du fichier de log Const Sep = ";" 'Séparateur des champs dans le fichier de log Dim Tablo() As String 'Tableau qui stockera chaque ligne du fichier log Dim Recup As String 'Variable qui contiendra la ligne du fichier de log ' Effacement de l'onglet "temp" du classeur de macro s'il existe Application.DisplayAlerts = False On Error Resume Next wbanalyse.Worksheets("temp").Delete On Error GoTo 0 Application.DisplayAlerts = True 'On créé un onglet "temp" dans lequel on importera le fichier de log wbanalyse.Worksheets.Add(After:=Worksheets("Index")).Name = "temp" Set wstemp = wbanalyse.Sheets("temp") 'On importe le fichier de log OCAGE au format CSV dans l'onglet "temp" fichier = "C:\fichier.csv" Application.ScreenUpdating = False cpt = 0 Open fichier$ For Input Access Read As #1 Do Until EOF(1) Input #1, Recup Tablo = Split(Recup, Sep) For i = 0 To UBound(Tablo) wstemp.Range("A1").Offset(cpt, i) = Tablo(i) Next i cpt = cpt + 1 Loop Close #1
Par contre pour le fichier "CT001_OCAGE_2010-09-24.csv" également ci-joint, importation le code me fait n'importe quoi: Il prends les caractères "," pour des retours chariots.
En regardant de plus près, ce découpage se produit lors de l'instruction: input #1, Recup
Quelqu'un saurait me dire pourquoi et comment contourner ce problème?
Max
Partager