Cellule calcul et affichage

Signaler
Messages postés
75
Date d'inscription
jeudi 27 juillet 2006
Statut
Membre
Dernière intervention
26 mars 2010
-
Messages postés
75
Date d'inscription
jeudi 27 juillet 2006
Statut
Membre
Dernière intervention
26 mars 2010
-
Salut les CSistes !! Après le php, me voila au javascript et je sens que ca va pas etre du gateau !!

Bon, je commence par m'excuser, car je ne suis pas sur d'etre au bon endroit, et je ne sais pas si ce que je recherche a un nom (j'aurais donc pu faire une recherche).

J'ai donc une ligne toute bête avec 5 cellulles :





En fonction javascript, j'ai donc ceci :

function calcul()
{
var sp1 = document.form1.emontantht.value;
var sp2 = sp1.replace(",",".")
var sp3 = document.form1.eqte.value;
var sp4 = sp3.replace(",",".")
var sp5 = (((sp2*sp4)));

et ceci :

document.form1.esoustotal.value=Math.round(sp5*100)/100;

J'ai donc une multiplication entre la cellule montant HT (emontatht) et quantité (eqte) dont le résultat d'affiche dans  la cellule esoustotal.

Ma question concerne les cellules vr et vr?.

Dans la cellule vr, j'aimerais mettre un pourcentage, par exemple 10, et qu'il affiche dans la cellule vr?, 10% de esoustotal, et vice versa, je met 1000 dans vr? et il m'affiche le pourcentage de 1000/esoustotal dans vr.

Merci de m'aider.

6 réponses

Messages postés
13616
Date d'inscription
jeudi 13 février 2003
Statut
Membre
Dernière intervention
15 octobre 2013
32
Bonjour,

>>j'aimerais mettre un pourcentage
et qu'est-ce qui t'ennuies ? le calcul ou mettre le résultat dans la cellule ?
mettre une valeur dans la cellule, tu as mis un exemple
                    ( document.form1.esoustotal.value= )
calculer un % c'est de l'arithmétique : ( plus petit / plus grand ) x 100
















<hr />



Cordialement    Bul     [mon Site]     [M'écrire]



<hr />
Messages postés
75
Date d'inscription
jeudi 27 juillet 2006
Statut
Membre
Dernière intervention
26 mars 2010

Ba en fait, j'aimerais mettre un pourcentage et ce le resultat s'affiche dans la cellule vr?, et lorsque je mets un nombre dans vr?, que ca me calcule le pourcentage par rapport au esousmontant.

C'est le fait que ce soit "redondant" que je ne sais pas faire.
Messages postés
13616
Date d'inscription
jeudi 13 février 2003
Statut
Membre
Dernière intervention
15 octobre 2013
32
>>j'aimerais mettre un pourcentage et ce le resultat s'affiche dans la cellule vr?
j'ai bien compris... et tu as lu ma question ? ce que je suggère ?


<hr />



Cordialement            Bul     [mon Site]     [M'écrire]



<hr />
Messages postés
75
Date d'inscription
jeudi 27 juillet 2006
Statut
Membre
Dernière intervention
26 mars 2010

Yes, je l'ai lu, mais j'avoue ne pas tout comprendre. J'ai réussi a mettre la valeur en euro après avoir taper le pourcentage que je voulais.

Ainsi, lorsque dans la case esoustotal est inscrit 500 et que je tape 10 dans la case evr, il m'affiche 50 dans evr?. Mais lorsque je mets dans la cellule vr? 50, il m'affiche pas 10 dans la case evr, alors que normalement mon calcul est bon :

voici mon code :

function calcul()
{
var sp1 = document.form1.emontantht.value; //PU
var sp2 = sp1.replace(",",".")//PU ss virgule...
var sp3 = document.form1.eqte.value;//qté
var sp4 = sp3.replace(",",".")//qté ss virgule...var sp5 (((sp2*sp4))); //sous total PU ss vir * QTE ss vir
var sp6 = document.form1.evr.value; //VR %
var sp7 = sp6.replace(",",".") // VR% ss vir
var sp8 = ((sp7*sp5)/100);//VR en euro
var sp9 = document.form1.evreuro.value; //VR ?
var sp10 = sp9.replace(",",".") // VR? ss vir
var sp11 = ((sp10/sp5)*100);//VR en euro

document.form1.esoustotal.value=Math.round(sp5*100)/100;
document.form1.evreuro.value=Math.round(sp8*100)/100;
document.form1.evr.value=Math.round(sp11*100)/100;

En fait quand je fais ca, ca me fait buguer partout il ya 0 qui s'affiche tout le temps dans la case evr et le chiffre qui apparait dans evreuro est genre 100^3, il y a tro de 0...
Messages postés
13616
Date d'inscription
jeudi 13 février 2003
Statut
Membre
Dernière intervention
15 octobre 2013
32
Bonjour,

>>evreuro
    c'est quoi ? anciennement evr? ?


>>

je tape 10 dans la case evr, ça m'affiche 50
pas tout à fait. s'il y a 10 dans la case evr et qu'on modifie
    emontantht et/ou eqte
    ou alors il faudrait mettre onchange sur cetre cellule




>>Mais lorsque je mets dans la cellule vr? 50, il m'affiche pas 10 dans la case evr
    quelle fonction est appelée lorsqu'on modifie vr? ? aucune comme evr.
    et si on modife emontantht ou eqte, vr? etait effacé.

je n'en vois guère...
    ( d'ailleurs attention à la boucle infernale )
   
mais tu as modifié le formulaire, le script, alors difficle de suivre
    si tu ne nous le remets pas le tout.

<hr />


Cordialement            Bul     [mon Site]     [M'écrire]



<hr />
Messages postés
75
Date d'inscription
jeudi 27 juillet 2006
Statut
Membre
Dernière intervention
26 mars 2010

ok, j'ai avancé dessus, mais ca ne marche toujours pas, voici le code au complet, un peu modifié car je pensais que c'était le signe ? qui faisait tout deconner :

function calcul()
{
var sp1 = document.form1.emontantht.value; //PU
var sp2 = sp1.replace(",",".")//PU ss virgule...
var sp3 = document.form1.eqte.value;//qté
var sp4 = sp3.replace(",",".")//qté ss virgule...var sp5 (((sp2*sp4))); //sous total PU ss vir * QTE ss vir
var sp6 = document.form1.evr.value; //VR %
var sp7 = sp6.replace(",",".") // VR% ss vir
var sp8 = ((sp7*sp5)/100); //VR en euro
var sp9 = document.form1.evreuro.value; //VR ?
var sp10 = sp9.replace(",",".") // VR? ss vir
var sp11 = ((sp10/sp5)*100); //VR en euro

document.form1.esoustotal.value=Math.round(sp5*100)/100;
document.form1.evreuro.value=Math.round(sp8*100)/100;
document.form1.evr.value=Math.round(sp11*100)/100;

et au niveau des cellules :

<tr>
                                  <td colspan="2" valign="middle">



                                    &euro;</td>
                                  <td height="26" colspan="2" valign="middle"></td>
                                  <td height="26" colspan="2" valign="middle">
                                    &euro;</td>
                                  <td height="26" colspan="2">
% </td>
                                  <td height="26" colspan="2">
                                   
                                    &euro;</td>
                                  <td height="26">
                                   
                                    " /></td>
                                  <td height="26">&nbsp;</td>
                                </tr>

Donc, j'en suis a peu près au même point...