Bonjour a tous,
Alors ce matin mauvaise surprise ma fonction IMPORTER_CSV qui a toujours marché à la perfection avec des dizaines et des dizaines de CSV ne marche pas pour un csv
J'ai tout essayer pour comprendre pourquoi mais je n'y suis pas parvenu.
Alors mon CSV:
Heure;Entités;Flux
2011-06-01 17:03:24;B20.V;Doc
2011-06-01 17:12:55;B11.V;IP
;RAD.GT;IL
;G.C;Photo
;B40A;Ordres Elem.
;V.C;LAE
;B13.C;GF
;B60.C;ALL
;B12.C;
;B42;
;B40.C;
;B.L;
;B25.V;
;B12.V;
;CICA.GT;
;B.SCIP;
;B41;
;PC.GTIA;
;B13.V;
;B25.SCD;
;B.C;
;J.C;
;B20.C;
;B.A;
;B11.C;
;B14.V;
;BD.C;
;B14.C;
;B10.C;
;ALL;
Mon importation de CSV:
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
| Public Sub CheckandImportCSV(Name As String, Folder As String)
Dim Path As String
Dim WsName As String
'Initialisation des différentes feuilles
If CheckCSV(Name) = True Then
Sheets(Name).Cells.Clear
Else
Sheets.Add.Name = Name
End If
'Initialisation des nom et répertoire
WsName = ActiveWorkbook.Name
Path = Workbooks(ActiveWorkbook.Name).Path
'Ouverture du fichier csv
Set csv = Workbooks.Open(Path & Folder & Name & ".csv")
csv.Sheets(1).Columns(1).TextToColumns Range("A1"), Semicolon:=True
'Copie des donnée du fichier csv
Range("A1").CurrentRegion.Cut
'Colle ces données dans le classeur à la feuille nommé graphe
Workbooks(WsName).Sheets(Name).Activate
Range("A1").Select
ActiveSheet.Paste
End Sub |
Alors j'explique ce qui se passe d'après mes observations:
Lors de la commande
csv.Sheets(1).Columns(1).TextToColumns Range("A1"), Semicolon:=True
, le fichier csv ne se sépare pas bien et ce de facon très étrange pas au point virgule ni rien...
par contre si je supprime des lignes de mon csv devenant:
Heure;Entités;Flux
2011-06-01 17:03:24;B20.V;Doc
2011-06-01 17:12:55;B11.V;IP
;RAD.GT;IL
;G.C;Photo
;B40A;Ordres Elem.
;V.C;LAE
;B13.C;GF
;B60.C;ALL
;B12.C;
;B42;
;B40.C;
;B.L;
;B25.V;
;B12.V;
;CICA.GT;
;B.SCIP;
;B41;
;PC.GTIA;
;B13.V;
;B25.SCD;
;B.C;
La parfait tout fonctionne à merveille
Alors comprenez mon inquiétude car c'est très bizarre j'ai essayé de rajouté ou autre après TOUJOURS pareil 1 ligne en plus = MARCHE PAS
Pourtant mon code importe des fichiers de 200 000 lignes sans soucis...
Merci pour votre aide
Bastien qui devient fou
Partager