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

  FORUM HardWare.fr
  Programmation
  VB/VBA/VBS

  récupérer certains champs d'un .csv

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

récupérer certains champs d'un .csv

n°1587125
440LVB
Posté le 16-07-2007 à 15:02:50  profilanswer
 

Bonjour
 
Je n'ai jamais programmé en VBx mais la j'ai besoin de créer un script d'extraction de données de plusieurs fichiers csv (le nombre peut varier). Je pense que VBA est le langage le plus adapté pour ca mais j'aurais besoin d'un petit tuto. Si quelqu'un a une adresse avec un exemple d'acces a un csv par exemple??
Est-ce que VBA permet de parcourir plusieurs fichiers différents, ou est-ce qu'il faut un autre langage de script pour "sortir" du fichier excel courant et passer au suivant?
 
Deuxieme question, il faut que le resultat soit sous forme d'executable, et pas de macro intégrée au fichier. C'est faisable?
 
Désolé pour le noobisme  :pt1cable:  
 
Merci pour toute aide


Message édité par 440LVB le 16-07-2007 à 15:05:16
mood
Publicité
Posté le 16-07-2007 à 15:02:50  profilanswer
 

n°1587138
jpcheck
Pioupiou
Posté le 16-07-2007 à 15:21:10  profilanswer
 

pour csv tu tapes dans google,
pour l'exécutable, je conseille de faire ca en vb.net ou vb6, mais vba ce sont des mmacros...

n°1587141
kiki29
Posté le 16-07-2007 à 15:22:40  profilanswer
 

Si solution VBA
En adaptant http://forum.hardware.fr/hfr/Progr [...] m#t1570350
ou sinon en adaptant qqch comme
 


Option Explicit
 
Sub Csv()
Dim Fichier As Variant
    ChDir ThisWorkbook.Path
    Fichier = Application.GetOpenFilename("Fichier CSV (*.csv), *.csv" )
    If Fichier <> False Then
        LireCSV Fichier
    End If
End Sub
 
Private Sub LireCSV(ByVal NomFichier As String)
Dim Chaine As String
Dim Ar() As String
Dim i As Long
Dim iRow As Long, iCol As Long
Dim NumFichier As Integer
Dim Separateur As String * 1
 
    Separateur = ";"
    Cells.Clear
    Application.ScreenUpdating = False
    NumFichier = FreeFile
 
    iRow = 0
 
    Open NomFichier For Input As #NumFichier
    Do While Not EOF(NumFichier)
        iCol = 1
        iRow = iRow + 1
        Line Input #NumFichier, Chaine
        Ar = Split(Chaine, Separateur)
        For i = LBound(Ar) To UBound(Ar)
            Cells(iRow, iCol) = Ar(i)
            iCol = iCol + 1
        Next i
    Loop
    Close #NumFichier
    Application.ScreenUpdating = True
 
End Sub


et tu auras le resultat dans une feuille Excel que tu pourras sauver en Texte Tabulé par exemple ou Csv  
Sinon Vb6,Vb.Net etc mais au final tu généreras également un fichier Texte


Message édité par kiki29 le 16-07-2007 à 15:47:42

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

  récupérer certains champs d'un .csv

 

Sujets relatifs
plusieurs valeurs dans un même champs[script] Recuperer des infos sur le web
[BATCH] COmment recuperer le nom du repertoire ?[Résolu] Récupérer les valeurs d'inputs dans un javascript
[Access] Formulaire - Table intermédiaire et champs multiselectionsRécupérer l'adresse MAC "physique"
Récupérer les coordonnées (haut gauche) d'une cellule ou d'un divRécupérer des données depuis une feuil excel.
Récupérer le pid d'un exe que l'on vient de lancer.récupérer des données d'un "multi" formulaire
Plus de sujets relatifs à : récupérer certains champs d'un .csv


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