IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

VBScript Discussion :

Csv vers tableau


Sujet :

VBScript

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Inscrit en
    Juillet 2008
    Messages
    22
    Détails du profil
    Informations forums :
    Inscription : Juillet 2008
    Messages : 22
    Par défaut Csv vers tableau
    Bonjour a vous,

    voila ce que je souhaiterai faire en vbs :

    J ai un fichier csv de la forme suivante :

    Toto/maison/rouge/150000/rien/cbr0024
    Titi/voiture/bleu/20000/utilitaire/vds0047
    tata/rien/neuf/10000cfa/meuble/vds0175
    ...

    Je souhaiterai passer le csv dans un tableau.

    Ce qui me permetterai de faire la recherche suivante :

    recherche de : Nom_user = titi

    --> recherche dans le tableau.

    placer la correspondance de titi dans des variables :

    option1 = voiture
    option2 = bleu
    option3 = 20000
    option4 = utilitaire
    option5 = vds0047


    Je ne m y connait vraiment peu en vbs

    seul base que j ai trouvé etant :

    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
    'Function csv_to_table(C:\Temp\base_deploiement.csv)
     
    	Set FSO = CreateObject("Scripting.FileSystemObject")
    	Set File = FSO.OpenTextFile(C:\Temp\base_deploiement.csv, 1)
     
    	intSize = 0
     
    	Do Until File.AtEndofStream
    		strNextLine = File.ReadLine
    		If InStr (strNextLine, ",") Then
    				ReDim Preserve arrTxtArray(intSize)
    				arrTxtArray(intSize) = strNextLine
    				intSize = intSize +1
    		End If
    	Loop
    csv_to_table = arrTxtArray
     
    End Function
    J'ai du faire pas mal d'erreur dans la fonction pour mettre le csv dans un tableau...

    Une aide serait vraiment trés appréciée.

    Merci d'avance.

  2. #2
    Membre averti
    Inscrit en
    Juillet 2008
    Messages
    22
    Détails du profil
    Informations forums :
    Inscription : Juillet 2008
    Messages : 22
    Par défaut
    Re,

    J ai voulu faire un petit test dans un script a part pour juste incrémenter un tableau avec un fichier "testmachin.csv" se trouvant dans c:\temp

    fichier testmachin.csv :

    user/objet/etat/prix/infos/code
    Toto/maison/rouge/150000/rien/cbr0024
    Titi/voiture/bleu/20000/utilitaire/vds0047
    tata/rien/neuf/10000cfa/meuble/vds0175

    (bien entendu les "/" sont des "," dans le fichier)


    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
     
     
    On Error Resume Next
     
    Dim fso, fCsv, tb
     
    Const ForReading = 1
    Set fso = CreateObject("scripting.filesystemobject")
    Set fCsv = fso.OpenTextFile("c:\temp\testmachin.csv", ForReading)
    ' lecture ligne d'entête
     
     
    If Not fCsv.AtEndOfStream Then fCsv.ReadLine 
     While Not fCsv.AtEndOfStream
      tb = Split(fCsv.ReadLine, ",")
      If UBound(tb) = 5 Then
        WScript.Echo "user : " & tb(0) & "  objet :" & tb(1) & "  etat :" & tb(2) & " prix:" & tb(3) & " info :" & tb(4) & " prix :" & tb(5)
      End If
     Wend
    En l'executant rien ne s'affiche

  3. #3
    Rédacteur
    Avatar de omen999
    Profil pro
    Inscrit en
    Février 2006
    Messages
    1 302
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2006
    Messages : 1 302
    Par défaut
    bonjour,

    que donne cette ligne ?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    tb = Split(fCsv.ReadLine, ",")
    wscript.echo Ubound(tb)
    If UBound(tb) = 5 Then
    nomen omen, nemo non omen - Consultez la FAQ VBScript et les cours et tutoriels VBScript
    le plus terrible lorsqu'une voiture renverse un piéton, c'est que ce sont les freins qui hurlent. (ramón)
    pas de questions techniques par mp

  4. #4
    Membre averti
    Inscrit en
    Juillet 2008
    Messages
    22
    Détails du profil
    Informations forums :
    Inscription : Juillet 2008
    Messages : 22
    Par défaut suite
    Bonjour a tous,

    Alors pour les interessés voici le bout de code permettant d'ouvrir un csv puis de le placer dans un tableau a 2 dimensions afin d'effectuer des traitements dessus.

    cela est peut être structuré d'une manière pas trés catholique mais ca marche !

    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
     
    'Importation CSV vers tableau 2 dimensions
    Dim fso, fCsv
     
    Redim MonTableau(4,0)
    MonTableau(0,0) = ""
    'redim MonTableauTemporaire
     
    dim MaLigne : MaLigne = ""
     
    Const ForReading = 1
     
    Set fso = CreateObject("scripting.filesystemobject")
    Set fCsv = fso.OpenTextFile("C:\Temp\testbase.csv", ForReading)
     
     While Not fCsv.AtEndOfStream
    	MaLigne = fCsv.ReadLine
    	Wscript.echo "lecture ligne : " & MaLigne
    	MonTableauTemporaire = Split (MaLigne,",")
     
    	if MonTableau(0,0) <> "" then redim preserve MonTableau(4,Ubound(MonTableau,2)+1)
    	for  i = 0 to 4 
    		Wscript.echo MonTableauTemporaire(i)
    		MonTableau(i,Ubound(MonTableau,2)) = MonTableauTemporaire(i)
    	next
     
     Wend
    Voila j'èspère que ca aidera certaines personnes.


Discussions similaires

  1. copie d'un tableau du .csv vers .xls
    Par nb_fr31 dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 16/11/2007, 18h58
  2. CSV vers MySQL
    Par simoryl dans le forum SGBD
    Réponses: 3
    Dernier message: 08/08/2005, 14h13
  3. Importation CSV vers base de données
    Par Brice Yao dans le forum Bases de données
    Réponses: 1
    Dernier message: 29/06/2005, 13h42
  4. [Conseil] Import de fichier CSV vers MySQL
    Par ShinJava dans le forum JDBC
    Réponses: 6
    Dernier message: 15/03/2005, 19h14
  5. Importation de fichier CSV vers une base Interbase
    Par PrinceMaster77 dans le forum ASP
    Réponses: 3
    Dernier message: 15/03/2005, 15h18

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo