Cellule calcul et affichage

cs_christuckers Messages postés 75 Date d'inscription jeudi 27 juillet 2006 Statut Membre Dernière intervention 26 mars 2010 - 25 avril 2007 à 15:13
cs_christuckers Messages postés 75 Date d'inscription jeudi 27 juillet 2006 Statut Membre Dernière intervention 26 mars 2010 - 26 avril 2007 à 14:24
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

cs_bultez Messages postés 13615 Date d'inscription jeudi 13 février 2003 Statut Membre Dernière intervention 15 octobre 2013 30
25 avril 2007 à 16:14
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 />
0
cs_christuckers Messages postés 75 Date d'inscription jeudi 27 juillet 2006 Statut Membre Dernière intervention 26 mars 2010
25 avril 2007 à 16:18
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.
0
cs_bultez Messages postés 13615 Date d'inscription jeudi 13 février 2003 Statut Membre Dernière intervention 15 octobre 2013 30
25 avril 2007 à 18:24
>>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 />
0
cs_christuckers Messages postés 75 Date d'inscription jeudi 27 juillet 2006 Statut Membre Dernière intervention 26 mars 2010
26 avril 2007 à 09:18
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...
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
cs_bultez Messages postés 13615 Date d'inscription jeudi 13 février 2003 Statut Membre Dernière intervention 15 octobre 2013 30
26 avril 2007 à 10:11
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 />
0
cs_christuckers Messages postés 75 Date d'inscription jeudi 27 juillet 2006 Statut Membre Dernière intervention 26 mars 2010
26 avril 2007 à 14:24
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...
0
Rejoignez-nous