Publicité
+ Répondre à la discussion
Affichage des résultats 1 à 4 sur 4
  1. #1
    Invité de passage
    Homme Profil pro
    Administrateur systèmes et réseaux
    Inscrit en
    décembre 2012
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations professionnelles :
    Activité : Administrateur systèmes et réseaux

    Informations forums :
    Inscription : décembre 2012
    Messages : 4
    Points : 1
    Points
    1

    Par défaut Addition de plusieurs valeurs

    Bonjour

    Je débute en VBS et j'ai un cas qui pour certains risque de paraître assez simple.
    Je m'explique :
    J'ai un fichier dans lequel j'ai plusieurs valeur du type :
    3.000
    5.000
    8.652
    .....

    Je souhaiterais simplement faire la somme de toutes ces valeurs.
    J'arrive déjà à toute les récupérées dans un tableau mais lorsque je les additionne, j'obtiens par exemple : 3.0005.0008.652....
    Voici mon code (surement pas bon et pas optimisé !!) dans lequel je fais juste le test avec deux valeurs :

    Code :
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    Set objFSO = CreateObject("Scripting.FileSystemObject")
    objFichier_in = objFSO.openTextFile(nom_fichier_in).ReadAll
    arrlignes = split(objFichier_in,vbcrlf)
    compteur = UBound(arrlignes)
     
    Capacity = arrlignes(0)+arrlignes(1)
     
    msgbox Capacity
    Merci d'avance pour vos idées et vos réponses.

    Cordialement

  2. #2
    Expert Confirmé Avatar de pc75
    Profil pro
    Inscrit en
    septembre 2004
    Messages
    3 446
    Détails du profil
    Informations personnelles :
    Âge : 59
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : septembre 2004
    Messages : 3 446
    Points : 3 388
    Points
    3 388

    Par défaut

    Bonjour,

    Code :
    1
    2
     
    Capacity = cDbl(arrlignes(0)) + cDbl(arrlignes(1))
    Par principe, je ne réponds pas aux messages URGENT.
    Il n'y a pas de choses urgentes, il n'y a que des choses en retard. (un inconnu)
    Pas de questions techniques en MP.

  3. #3
    Invité de passage
    Homme Profil pro
    Administrateur systèmes et réseaux
    Inscrit en
    décembre 2012
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations professionnelles :
    Activité : Administrateur systèmes et réseaux

    Informations forums :
    Inscription : décembre 2012
    Messages : 4
    Points : 1
    Points
    1

    Par défaut

    Bonjour

    Merci pour la réponse !
    Mais j'ai toujours une erreur :
    Error: Type mismatch: 'cdbl'
    Code: 800A000D

    auriez vous une idée ?

    Merci d'avance

  4. #4
    Rédacteur
    Avatar de omen999
    Inscrit en
    février 2006
    Messages
    1 008
    Détails du profil
    Informations forums :
    Inscription : février 2006
    Messages : 1 008
    Points : 2 366
    Points
    2 366

    Par défaut

    bonjour,
    cela signifie qu'un des éléments du tableau arrlignes() ne peut pas être évalué sous la forme d'un nombre
    il faut les tester avant avec la fonction IsNumeric
    par exemple dans une boucle for...next qui vérifiera le tableau
    Code :
    If Not IsNumeric(arrlignes(n)) Then  Exit For
    nomen omen, nemo non omen
    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

Liens sociaux

Règles de messages

  • Vous ne pouvez pas créer de nouvelles discussions
  • Vous ne pouvez pas envoyer des réponses
  • Vous ne pouvez pas envoyer des pièces jointes
  • Vous ne pouvez pas modifier vos messages
  •