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 :

Comment additionner les données d'un texte


Sujet :

VBScript

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre habitué
    Inscrit en
    Septembre 2007
    Messages
    12
    Détails du profil
    Informations forums :
    Inscription : Septembre 2007
    Messages : 12
    Par défaut Comment additionner les données d'un texte
    Bonjour ,

    Voilà je débute en VBScript et je galère depuis quelques jours.
    J'ai un fichier texte qui contient des valeurs
    Exemple : 758.456, 5123, 128.475, 85 ..... etc
    J'ai besoin d'additionner toute ces valeurs contenues dans ce texte et l'afficher à l'écran mais je n'y arrive pas.
    Voici le code :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    Dim FSO, MonFichier, FR, textCont
    Set FSO = CreateObject("Scripting.FileSystemObject")
    Set Monfichier = FSO.GetFile("d:\contenu.txt")
    Set FR = Monfichier.OpenAsTextStream( 1,0)
    textCont = FR.ReadAll 'on l'a pas encore étudié, je sais !
    WScript.Echo "Contenu du fichier: " & textCont
    result =  textCont
     
    Function Addition1()
     Addition1=result
    End Function
    MsgBox Addition1()
    FR.Close
    Pourquoi j'ai besoin de ça ? Certains vont peut etre rire, c'est pour le boulot :
    - J'ai un répertoire qui contient plusieurs fichiers
    - Dans chaque fichier il y a une valeur que je dois prendre
    - Je dois faire le total de ces valeurs et l'afficher

    JE GALERE SEVERE !

    SVP qui pourrait m'aider ? Je vous remercie d'avance
    MERCI MERCI MERCI...


  2. #2
    Expert confirmé
    Avatar de ced600
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Août 2006
    Messages
    3 364
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Août 2006
    Messages : 3 364
    Par défaut
    As tu entendu parler des conversions ?

    Quand tu récupères les éléments de ton fichier, c'est du texte, des strings.
    Tu ne peut additionner que des int, des long, etc...

    Utilises les balises de code pour ton code (# dans le menu d'édition)
    D'où est ce qu'il sort ton résult, même pas déclaré.
    La telle qu'elle est, ta fonction Addition1 te sert à rien

    Bon première chose, récupère le contenu de ton fichier ligne par ligne et non entierement.
    Ensuite découpe la ligne à l'aide de split (voir la FAQ), en utilisant comme caractère de séparation celui qui sépare tes chiffres. Tu stock tout cela dans un tableau et tu l'envois dans une fonction Addition. Ensuite tu récupère la valeur que te renvois la fonction et tu l'ajoute à ta variable résultat final.
    Tu répète l'opération jusqu'à ce que tu est parcourus tout le fichier.
    Pour la fonction Addition, un simple parcours du tableau, une converstion de chacune des valeurs en int, long, ou autre ... Tu sommes le tout, et tu renvois la valeur.

    Tout ce qu'il faut savoir pour réaliser cela se trouve dans la FAQ, pour le reste à toi de jouer

  3. #3
    Membre habitué
    Inscrit en
    Septembre 2007
    Messages
    12
    Détails du profil
    Informations forums :
    Inscription : Septembre 2007
    Messages : 12
    Par défaut
    Tout d'abord merci CED pour ta réponse !
    A vrai dire je nage complètement. Disons que créer un programme c'est difficile mais le décortiquer c'est plus simple...
    Pourrais tu me donner un exemple de code STP ?
    Merci encore !

  4. #4
    Expert confirmé
    Avatar de ced600
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Août 2006
    Messages
    3 364
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Août 2006
    Messages : 3 364
    Par défaut
    Je ne pense pas que tu puisses vraiment comprendre les choses en lisant du code. Le mieux est de le créer sois même.
    Je crois que j'ai bien maché l'algorithmie de ce script, alors tu devrais pouvoir t'en sortir.
    Pour chaque étape, tu as des exemples de code dans la FAQ.
    Essayes de le faire par toi même et reviens poster ce que tu as fait si tu bloques à certains endroits.

  5. #5
    Membre habitué
    Inscrit en
    Septembre 2007
    Messages
    12
    Détails du profil
    Informations forums :
    Inscription : Septembre 2007
    Messages : 12
    Par défaut
    Oui tu as raison j'aimerais m'investir bcp plus mais j'ai une contrainte de temps... C'est pour ça. Si tu pouvais me donner un exemple de code je pourrais tester et l'adapter. Qd je bloquerai je viendrai poster...


  6. #6
    Membre habitué
    Inscrit en
    Septembre 2007
    Messages
    12
    Détails du profil
    Informations forums :
    Inscription : Septembre 2007
    Messages : 12
    Par défaut
    J'ai suivi ce que tu m'as dit jeune Padawan :

    première chose, récupère le contenu de ton fichier ligne par ligne et non entierement.
    Ensuite découpe la ligne à l'aide de split (voir la FAQ), en utilisant comme caractère de séparation celui qui sépare tes chiffres. Tu stock tout cela dans un tableau :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    Dim tb 'Tableau
    Dim i 
    Const ForReading = 1
     
    Set objFSO = CreateObject("Scripting.FileSystemObject")
    Set objFile = objFSO.OpenTextFile("d:\contenu6.txt")  
     
    textCont = objFile.ReadAll 
     
    tb = split (textCont,"|")
    for i = 0 to ubound(tb)
      msgbox tb(i)
    Ce simple test m'affiche les valeurs une à une que je récupère du fichier texte ( les valeurs sont séparées par un "|" ici.

    Maintenant j'aimerais additionner toutes ces valeurs ??? Peux tu m'aider avec du code stp ??? MERCI d'avance

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [OpenOffice][Texte] Comment inserer les données d'un fichier texte dans un ODT ?
    Par Legentleman97420 dans le forum OpenOffice & LibreOffice
    Réponses: 1
    Dernier message: 03/07/2013, 14h00
  2. Réponses: 2
    Dernier message: 31/01/2012, 13h33
  3. Comment classer les données d'une TStringList ?
    Par cmickyplus dans le forum Langage
    Réponses: 2
    Dernier message: 25/06/2005, 16h44
  4. [cr 8.5] comment exploiter les données d'un "array"
    Par kikidrome dans le forum SAP Crystal Reports
    Réponses: 12
    Dernier message: 09/06/2005, 14h03
  5. [JTable] Comment récuperer les données d'un fichier texte ?
    Par Makunouchi dans le forum Composants
    Réponses: 2
    Dernier message: 03/05/2005, 16h37

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