Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1209 connectés 

  FORUM HardWare.fr
  Programmation
  VB/VBA/VBS

  Traitement de CSV

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Traitement de CSV

n°2103892
Hiukho
Posté le 29-09-2011 à 10:20:03  profilanswer
 

Salut a tous.
 
Je dois faire une macro VBA pour extraire des données d'un fichier CSV, jusqu,a la pas de problemes, sauf que mon CSV fait 250,000 lignes (oui oui oui!)
 
Une idée pour ne pas avoir a mettre mon CSV dans plein de sheets excel?


---------------
Feed: http://forum.hardware.fr/hfr/Achat [...] 6855_1.htm
mood
Publicité
Posté le 29-09-2011 à 10:20:03  profilanswer
 

n°2103911
kiki29
Posté le 29-09-2011 à 12:01:51  profilanswer
 

Salut, si tu as 2007 et + il y a 2^20 lignes ( 1 048 576 ) minimum de disponibles, sinon tu n'as pas le choix autre que de scinder ton traitement en 65536 lignes / Feuille si l'extraction de données atteint cette limite
 
Par contre comme il s'agit d'un fichier texte tu peux faire le traitement sans te soucier dans un 1er temps du nombre de lignes que génèrera le traitement


Message édité par kiki29 le 29-09-2011 à 15:10:42

---------------
Myanmar 90/91 : http://gadaud.gerard.free.fr/publi [...] index.html
n°2103961
white-rabb​it
oOps !
Posté le 29-09-2011 à 15:13:43  profilanswer
 

Bonjour,  
 
Je bosse moi aussi sur un VBA devant retravailler des données externes.  
 
J'ai pu réaliser le code du traitement commençant dès que le fichier est importé dans la feuille excel à l'emplacement A1.  
 
Par contre, je n'arrive pas à créer la partie amont étant :
- ouvrir une boite de dialogue où l'utilisateur va chercher le fichier csv à importer
- importer le contenu du csv à partir de la cellule A1
 
La partie d'après est parfaitement gérée par mon code:
- convertir le contenu  
- ajouter des informations
- sélection tout
- placer en presse papier
 
Quelqu'un aurait il une piste pour cette première partie ?
Merci

n°2103972
white-rabb​it
oOps !
Posté le 29-09-2011 à 16:20:35  profilanswer
 

Bonjour Kiki,  
 
Merci pour ton retour si rapide.  
 
J'ai essayé d'ajouter ton code (version pour 1 seul fichier) en complément du miens, mais ça ne fonctionne pas.  
 
En fait, la boite s'ouvre bien, je choisi un fichier, mais son contenu n'est pas copier en A1 du coup la suite de mon code ne prend pas le relais.  
 
Pour que tu comprennes un peu mieux voici mon code complété du tiens :

Option Explicit
 
Sub SelFichier()
Dim Fichier As Variant
    ChDir ThisWorkbook.Path
    Fichier = Application.GetOpenFilename("Fichier TXT (*.txt), *.txt" )
    If Fichier <> False Then Convert (Fichier)
End Sub

 
 
Sub Convert(Fichier)
       
    ActiveCell.SpecialCells(xlLastCell).Select ' Cette partie de la macro était issue d'une macro enregistrée par excel. Elle sélectionne la zone, et la convertie dans excel
    Selection.ClearContents
    Rows("1:1" ).Select
    Columns("A:A" ).Select
    Selection.TextToColumns Destination:=Range("A1" ), DataType:=xlDelimited, _
        TextQualifier:=xlDoubleQuote, ConsecutiveDelimiter:=False, Tab:=True, _
        Semicolon:=False, Comma:=False, Space:=False, Other:=True, OtherChar _
        :="|", FieldInfo:=Array(Array(1, 2), Array(2, 2), _
        Array(3, 2), Array(4, 2), Array(5, 2), Array(6, 2), Array(7, 2), Array(8, 2), Array(9, 2), _
        Array(10, 2), Array(11, 2), Array(12, 2), Array(13, 2), Array(14, 2), Array(15, 2), _
        Array(16, 2), Array(17, 2), Array(18, 2), Array(19, 2), Array(20, 2), Array(21, 2), Array(22, 2)), _
        TrailingMinusNumbers:=True
 
End Sub
 
 
 
En bleu uniquement ton code rajouté


Message édité par white-rabbit le 29-09-2011 à 16:30:48

---------------
>> Portfolio: www.MyDeclic.com
n°2104110
white-rabb​it
oOps !
Posté le 30-09-2011 à 11:02:34  profilanswer
 

Ok merci


---------------
>> Portfolio: www.MyDeclic.com

Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  VB/VBA/VBS

  Traitement de CSV

 

Sujets relatifs
Envoyer des graphiques sur un site internet a partir d'une source CSVTraitement de fichier avec AWK
Saut de ligne CSV ne fonctionne pas[C#] Traitement de checkbox ou textbox en boucle
Programme de traitement image PGM binaire (tableau2D)Requête d'export de données Mysql vers fichier CSV
Scheme - Traitement chaîne caractèresTraitement de fichiers .xml
Traitement d'une variable tableau 
Plus de sujets relatifs à : Traitement de CSV


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR