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

JavaScript Discussion :

Calcul de somme dans un tableau


Sujet :

JavaScript

  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Juillet 2008
    Messages
    20
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2008
    Messages : 20
    Par défaut Calcul de somme dans un tableau
    Bonjour,

    Voici mon souci :

    J'ai un tableau Mensuelle avec comme colonne Mois, Journalier et Horaire.

    Et j'ai un autre tableau total avec comme colonne Journalier et Horaire.

    je veux faire la somme de toutes les quantités saisies des cellules Journalier dans la cellule Journalier de mon tableau totale et pareil pour Horaire.

    Je voulais mette un 'name' au niveau de mes td pour récupérer toutes les valeurs mais ce n'est pas possible. Donc j'ai crée une div dans chaque td (oui je sais c'est très moche) mais je n'ai pas trouvé d'autres solutions pour le moment.

    Voici un bout de mon js :
    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
     
    var divJour = document.getElementsByName('journalier');
    var divHeure = document.getElementsByName('horaire');
    var jour = document.getElementById('jour_'+count);
    var heure = document.getElementById('heure_'+count);
     
    totalJ = document.getElementById('mSaisirCapacite.totalJour_'+index);
    totalH = document.getElementById('mSaisirCapacite.totalHeure_'+index);
     
    var totJ = 0;
    var totH = 0;
     
    if(name == 'journalier'){
      for(i=0;i<jour.getElementsByTagName('input').length;i++){
    	totJ = totJ+parseFloat(jour.getElementsByTagName('input')[i].value);			
      }
    }
    else if(name == 'horaire'){	
      for(i=0;i<heure.getElementsByTagName('input').length;i++){
    	totH = totH+parseFloat(heure.getElementsByTagName('input')[i].value);
      }
    }
    totalJ.value = Math.round(totJ * 1000)/1000;
    totalH.value = Math.round(totH * 1000)/1000;
    Cette fonction est appelé dans chaque cellule dans un onChange.
    Mes quantités ne se cumule pas et chaque fois que je saisie dans mon tableau mensuelle soit journalier ou horaire la somme de l'un ou l'autre se remet à 0.

    J'espère avoir été assez compréhensible.

    Merci pour votre aide.

  2. #2
    Expert éminent

    Avatar de vermine
    Profil pro
    Inscrit en
    Mars 2008
    Messages
    6 582
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : Belgique

    Informations forums :
    Inscription : Mars 2008
    Messages : 6 582
    Par défaut
    Bonjour,

    Je pense que c'est à cause de cet enchainement-ci :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    var totJ = 0;
    var totH = 0;
     
    if(name == 'journalier'){
     
    else if(name == 'horaire'){
     
    totalJ.value = Math.round(totJ * 1000)/1000;
    totalH.value = Math.round(totH * 1000)/1000;
    Dans tous les cas, vous mettez les deux totaux à jours.
    Dans les deux cas vous réinitialisez les totaux à zéro.
    Mais vous ne faites le calcul que pour un seul des deux totaux. Donc l'autre reste à zéro.

    Recalculez les deux ou bien mettez les nouvelles valeurs à bon escient l'une dans le if, l'autre dans le else.

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Juillet 2008
    Messages
    20
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2008
    Messages : 20
    Par défaut
    Oui effectivement c'était bien ça merci.

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

Discussions similaires

  1. Calcul d'une somme dans un tableau
    Par vinketi97 dans le forum Général JavaScript
    Réponses: 4
    Dernier message: 12/02/2014, 08h42
  2. [XL-2007] option boutton: comment calculer une somme dans un tableau
    Par Malek713 dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 21/10/2010, 16h05
  3. [V5] Calcul % Somme dans un tableau
    Par MikaelBO dans le forum Deski
    Réponses: 8
    Dernier message: 25/06/2009, 12h06
  4. Calculer une somme dans un tableau
    Par nawak.seb dans le forum Général JavaScript
    Réponses: 7
    Dernier message: 10/02/2009, 16h21
  5. [VB.NET]Calculer une somme dans un DataGridView
    Par pat59 dans le forum Windows Forms
    Réponses: 17
    Dernier message: 09/11/2006, 14h36

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