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 dans tableau


Sujet :

JavaScript

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    825
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2006
    Messages : 825
    Par défaut Calcul dans tableau
    Bonsoir à tous,

    J'ai un problème dans un calcul réalisé avec des éléments dans un tableaux:

    Tableaux HTML:
    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
    28
    29
    30
     
    <table id="tabfourrage" ><tr><td ><u>Code Produit:</u></td><td ><u>Nom de la matiere:</u></td><td ><u>Fournisseurs:</u></td><td ><u>Quantite:</u></td><td ><u>Prix au KG:</u></td><td ><u>Pri de revient:</u></td></tr><tr>	<td>77</td>
    	<td>Abricots</td>
     
    	<td>ALDIS</td>
    	<td><input type="text" id="fourqte1" value="1.00 " size="5" onkeyup="calculTotal2(1)"></td>
    	<td><input type="text" id="fourpu1" value="4.7310 " size="5" onkeyup="calculTotal2(1)"></td>
    	<td><input type="text" id="fourmontant1" value="4.7310 " size="5" > &euro; </td>
    	</tr>
    <tr>	<td rowspan="3"colspan="2"> Prix de revient au KG:<FONT COLOR="#FF0000"><b><input type="text" id="fourpdrakg" value="4.8276 " size="5" onkeyup="calculTotal2(1)"></b></font></td>
     
    	<td> Poids Total mis en oeuvre:</td><td><input type="text" id="fourpoids" value="1.0000 " size="5" onkeyup="calculTotal2(1)"></b></font></td>
    	<td rowspan="3"> TOTAL</td>
    	<td rowspan="3"><input type="text" id="fourprix_f" value="4.7310 " size="5" >&euro;</td>
    	</tr>
    	<tr>
    	<td>Perte: <input type="text" id="fourperte_pdt" value="2.00 " size="5" onkeyup="calculTotal2(1)"></td>
     
    	<td><input type="text" id="fouravantperte" value="0.0200 " size="5" onkeyup="calculTotal2(1)"></td>
    	</tr>
    	<tr>
    	<td>Total Utilisable:</td><td><input type="text" id="fourtotal_utilisable" value="0.9800 " size="5" onkeyup="calculTotal2(1)"></td>
    	</tr>
    	<tr>
    	<td>Poids Unitaire:<input type="text" id="fourpoids_u_f_pdt" value="0.1000 " size="5" onkeyup="calculTotal2(1)"></td>
    	<td colspan="4" ALIGN="RIGHT"> Prix de revient matiere premiere unitaire</td>
     
    	<td bgcolor="#FFA500" align=center><input type="text" id="fourprix_u_f" value="0.4828 " size="5" >&euro;</td>
    	</tr>
    </table>
    Ceci est un tableau html ou j'appelle une fonction javscript pour faire le calcul.

    Le problème c'est qu'il ne calcul pas le calcul total (fourprix_u_f) seulement quand il n'y a qu'une ligne.
    (j'ai fait un autre essaie avec un tableau plus grand il calcul bien le total)
    code javascript

    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
     
    function calculTotal2(pNum){
    document.getElementById('fourmontant'+pNum).value =  parseFloat(document.getElementById('fourpu'+pNum).value * document.getElementById('fourqte'+pNum).value);
    var nbLignes2 = document.getElementById("tabfourrage").rows.length - 5;
    document.getElementById('fourprix_f').value = 0;
    document.getElementById('fourpoids').value = 0;
    document.getElementById('fouravantperte').value = 0;
    for (a=1;a<=nbLignes2;a++)
    {
    var chaine_montant= "fourmontant"+a;
    var chaine_montant2= "fourqte"+a;
    document.getElementById('fourprix_f').value= parseFloat(document.getElementById('fourprix_f').value) + parseFloat(document.getElementById(chaine_montant).value);
    document.getElementById('fourpoids').value= parseFloat(document.getElementById('fourpoids').value) + parseFloat(document.getElementById(chaine_montant2).value); 
    document.getElementById('fouravantperte').value= parseFloat(document.getElementById('fourpoids').value) / 100 * parseFloat(document.getElementById('fourperte_pdt').value); 
    document.getElementById('fourtotal_utilisable').value= parseFloat(document.getElementById('fourpoids').value) - parseFloat(document.getElementById('fouravantperte').value);  
    document.getElementById('fourpdrakg').value= parseFloat(document.getElementById('fourprix_f').value) / parseFloat(document.getElementById('fourtotal_utilisable').value);  
    document.getElementById('fourprix_u_f').value= parseFloat(document.getElementById('fourpdrakg').value) * parseFloat(document.getElementById('fourpoids_u_f_pdt').value);  
    document.getElementById('total_final').value= parseFloat(document.getElementById('prix_u_m').value) + parseFloat(document.getElementById('fourprix_u_f').value) + parseFloat(document.getElementById('pdr_emb').value) + parseFloat(document.getElementById('mpdr_m_o_u').value); 
    }

    Quel erreur j'ai pu commettre ?
    Je problème est du a la longueur du tableau ou je met - 5. Non ?

    Merci d'avance pour votre aide

    guigui69

  2. #2
    Rédacteur/Modérateur

    Avatar de SpaceFrog
    Homme Profil pro
    Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Inscrit en
    Mars 2002
    Messages
    39 658
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 75
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2002
    Messages : 39 658
    Billets dans le blog
    1
    Par défaut
    a=1 ...
    commence à 0
    Ma page Developpez - Mon Blog Developpez
    Président du CCMPTP (Comité Contre le Mot "Problème" dans les Titres de Posts)
    Deux règles du succès: 1) Ne communiquez jamais à quelqu'un tout votre savoir...
    Votre post est résolu ? Alors n'oubliez pas le Tag

    Venez sur le Chat de Développez !

  3. #3
    Membre éclairé
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    825
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2006
    Messages : 825
    Par défaut
    Merci, par contre si je mets 0 il me ressort comme erreur

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    document.getElementById("fourmontant" + a) is null
    document.getElementById('fourprix_f').va....getElementById('fourmontant'+a).value);
    http://intranet/prixderevient/v0.1a8/javascript/visutempreel2.js
    Line 47
    Comment résoudre ce souci?

    Merci

    guigui69

  4. #4
    Rédacteur/Modérateur

    Avatar de SpaceFrog
    Homme Profil pro
    Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Inscrit en
    Mars 2002
    Messages
    39 658
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 75
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2002
    Messages : 39 658
    Billets dans le blog
    1
    Par défaut
    modifie ça en conséquence

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    var nbLignes2 = document.getElementById("tabfourrage").rows.length - 5;
    Ma page Developpez - Mon Blog Developpez
    Président du CCMPTP (Comité Contre le Mot "Problème" dans les Titres de Posts)
    Deux règles du succès: 1) Ne communiquez jamais à quelqu'un tout votre savoir...
    Votre post est résolu ? Alors n'oubliez pas le Tag

    Venez sur le Chat de Développez !

  5. #5
    Membre éclairé
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    825
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2006
    Messages : 825
    Par défaut
    Merci, j'ai essayer de modifier cette ligne mais il me ressort toujours cette erreur.

    Merci d'avance pour votre aide.

    guigui69

  6. #6
    Rédacteur
    Avatar de bigboomshakala
    Homme Profil pro
    Consultant Web .NET
    Inscrit en
    Avril 2004
    Messages
    2 077
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Consultant Web .NET
    Secteur : Finance

    Informations forums :
    Inscription : Avril 2004
    Messages : 2 077
    Par défaut
    déjà si le code que tu nous donnes est complet, il te manque des champs. donc forcément ça ne marchera jamais...

    total_final
    prix_u_m
    pdr_emb
    mpdr_m_o_u

Discussions similaires

  1. [Designer XiR2] Fonction de calcul dans tableau croisé
    Par colonel.klink dans le forum Débuter
    Réponses: 5
    Dernier message: 17/10/2012, 15h39
  2. [Vxi3] Problème de calcul dans tableau croisé
    Par Julien59 dans le forum Webi
    Réponses: 2
    Dernier message: 19/05/2010, 16h06
  3. champs calculés dans un tableau croisé
    Par abdoing dans le forum SAP Crystal Reports
    Réponses: 0
    Dernier message: 23/08/2007, 19h11
  4. Réponses: 4
    Dernier message: 03/08/2007, 13h48
  5. Réponses: 10
    Dernier message: 19/01/2006, 06h41

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