Mettre un calculateur sur ma page.htm
Mayorix
-
Mayorix -
Mayorix -
Bonjour,
Voilà, je suis sur la création de mon site web (pages perso hébergées chez neuf.fr) avec le logiciel frontpage. Dans l'une de ces pages, je souhaite mettre à disposition mes lecteurs un service calculatoire.
Après quelques recherches, il semblerait que le code à utiliser soit du PHP.
1- Dois-je créer une page en .php ou puis-je insérer du php directement dans ma page .htm ?
2- Je veux que l'internaute puisse soisir lui même des valeurs, et que ces valeurs soient traités pour donner un résultat. Par exemple, dans un tableau, je demande :
- le chiffres d'affaires
- les charges
Je voudrais qu'à la suite de la saisie de ces informations, un résultat type :"marge brut = " soit affiché.
Dans tous les cas, il s'agit de calculs simples, additions, sousctraction ou divisions. Mais je bute sur le code à insérer, pour dire vrai, je ne sais pas par où commencer!! J'ai sous les yeux des bouquins sur PHP et MySQL, mais je ne trouve pas ma réponse (et pour dire vrai, j'ai un peu de mal à tout comprendre...)
Bref, un coup de main serait le bienvenu!!!
Merci d'avance
Mayorix.
Voilà, je suis sur la création de mon site web (pages perso hébergées chez neuf.fr) avec le logiciel frontpage. Dans l'une de ces pages, je souhaite mettre à disposition mes lecteurs un service calculatoire.
Après quelques recherches, il semblerait que le code à utiliser soit du PHP.
1- Dois-je créer une page en .php ou puis-je insérer du php directement dans ma page .htm ?
2- Je veux que l'internaute puisse soisir lui même des valeurs, et que ces valeurs soient traités pour donner un résultat. Par exemple, dans un tableau, je demande :
- le chiffres d'affaires
- les charges
Je voudrais qu'à la suite de la saisie de ces informations, un résultat type :"marge brut = " soit affiché.
Dans tous les cas, il s'agit de calculs simples, additions, sousctraction ou divisions. Mais je bute sur le code à insérer, pour dire vrai, je ne sais pas par où commencer!! J'ai sous les yeux des bouquins sur PHP et MySQL, mais je ne trouve pas ma réponse (et pour dire vrai, j'ai un peu de mal à tout comprendre...)
Bref, un coup de main serait le bienvenu!!!
Merci d'avance
Mayorix.
A voir également:
- Mettre un calculateur sur ma page.htm
- Comment calculer la moyenne sur excel - Guide
- Ma-calculatrice - Télécharger - Calcul & Conversion
- Installer calculatrice sur mon portable - Télécharger - Calcul & Conversion
- Comment calculer un total sur excel - Guide
- Comment calculer une note sur 20 ✓ - Forum Bureautique
8 réponses
Bonsoir
Php il faut que ton hebergement l'accepte.
Essayes en Javascript
vas voir sur ww.toutjavascript.com
Php il faut que ton hebergement l'accepte.
Essayes en Javascript
vas voir sur ww.toutjavascript.com
Tu fais un tout petit script en php
que tu nommes: script_test.php
tu poses ça sur ton site et tu appelles le script par ton navigateur il doit te répondre:
Bonjour
Configuration pHp du serveur
et un grand tableau avec toutes infos sur php (version etc...)
Mais l'inconvenient en php c'est qu'il est exécuté coté serveur, donc ta page va se recharger.
alors qu'en javascript l'exécution se fait localement dans ton micro.
que tu nommes: script_test.php
<?php echo "Bonjour de php<br>"; echo "Configuration pHp du serveur<br>"; echo phpinfo(); ?>
tu poses ça sur ton site et tu appelles le script par ton navigateur il doit te répondre:
Bonjour
Configuration pHp du serveur
et un grand tableau avec toutes infos sur php (version etc...)
Mais l'inconvenient en php c'est qu'il est exécuté coté serveur, donc ta page va se recharger.
alors qu'en javascript l'exécution se fait localement dans ton micro.
Je n'ai pas tout compris (je suis une grande débutante!!).
Dans le doute, j'ai décidé de changer d'hébergeur (pas uniquement pour cette raison loin s'en faut).
Du coup, je vais voir ce que ça donne...
Merci en tout cas pour ces réponses, et je me plonge dans le javascript...
Mayo.
Dans le doute, j'ai décidé de changer d'hébergeur (pas uniquement pour cette raison loin s'en faut).
Du coup, je vais voir ce que ça donne...
Merci en tout cas pour ces réponses, et je me plonge dans le javascript...
Mayo.
Bonsoir,
tiens un petit exemple:
tiens un petit exemple:
<html> <head> <script language="javascript" type="text/javascript"> //fonction javascript de calcul function fct_calculer(id_q1,id_p1,id_t1,id_q2,id_p2,id_t2,id_q3,id_p3,id_t3,id_tot){ var q1=document.getElementById(id_q1).value;//on va lire la valeur du champ ayant pour id celui passé en argument 1 (Q1) var p1=document.getElementById(id_p1).value; var tot1=q1*p1; document.getElementById(id_t1).value=tot1; var q2=document.getElementById(id_q2).value; var p2=document.getElementById(id_p2).value; var tot2=q2*p2; document.getElementById(id_t2).value=tot2; var q3=document.getElementById(id_q3).value; var p3=document.getElementById(id_p3).value; var tot3=q1*p1; document.getElementById(id_t3).value=tot3; var total=tot1+tot2+tot3; document.getElementById(id_tot).value=total; } </script> </head> <body> <form name="form1" id="form1"> <table> <tr align="center"> <td >Produits</td><td>Qantité</td><td>Prix unitaire</td><td>Total</td> </tr> <tr align="center"> <td>Produit 1</td> <td><input type="text" name="Q1" id="Q1"></td> <td><input type="text" name="P1" id="P1"></td> <td><input type="text" name="T1" id="T1"></td> </tr> <tr align="center"> <td>Produit 2</td> <td><input type="text" name="Q2" id="Q2"></td> <td><input type="text" name="P2" id="P2"></td> <td><input type="text" name="T2" id="T2"></td> </tr> <tr align="center"> <td>Produit 3</td> <td><input type="text" name="Q3" id="Q3"></td> <td><input type="text" name="P3" id="P3"></td> <td><input type="text" name="T3" id="T3"></td> </tr> <tr align="center"> <td> </td> <td> </td> <td>Prix total --></td> <td><input type="text" name="Pt" id="Pt"></td> </tr> <tr align="center"> <td colspan="4"><input type="button" name="calculer" id="calculer" value="Calculer" onClick="fct_calculer('Q1','P1','T1','Q2','P2','T2','Q3','P3','T3','Pt');"></td> </tr> </table> </form> </body> </html>
Merci Alain, vraiment merci beaucoup! je teste le script, et le calculateur fonctionne. Bon, il doit y avoir une petite erreur dans le script, parce que le "total produit 3" est identique au "total produit 1" quelque soit la(s) valeur(s) qu'on entre. Demain je regarde ça, et si je trouve l'erreur, je te renverrai le script, ça me fera un bon excercice pour comprendre comment il est constitué!!
En tout cas, un grand grand merci!
Mayo.
En tout cas, un grand grand merci!
Mayo.
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Alain, j'avais effectivement trouvé l'erreur!!
Prenant modèle sur ton script, et fouillant le site www.toutjavascript.com, j'ai rédigé ce script... malheureusement, il doit y avoir une erreur quelque part, et je ne la vois pas... peux-tu me donner ton avis?
Dans l'en-tête:
<script language="javascript" type="text/javascript">
//fonction javascript de calcul
function fct_calculer(id_ca,id_ac,id_mb,id_sx,id_va,id_it,id_cp,id_se,id_eb,id_da,id_cg,id_pg,id_ra,id_re,id_pf,id_cf,id_rf,id_pe,id_ce,id_rc,id_is,id_rn){
var ca=document.getElementById(id_ca).value;
var ac=document.getElementById(id_ac).value;
var mb=ca-ac; document.getElementById(id_mb).value=mb;
var sx=document.getElementById(id_sx).value;
var va=mb-sx; document.getElementById(id_va).value=va;
var it=document.getElementById(id_it).value;
var cp=document.getElementById(id_cp).value;
var se=document.getElementById(id_se).value;
var eb=va-it-cp+se; document.getElementById(id_eb).value=eb;
var da=document.getElementById(id_da).value;
var cg=document.getElementById(id_cg).value;
var pg=document.getElementById(id_pg).value;
var ra=document.getElementById(id ra).value;
var re=eb-da-cg+pg+ra; document.getElementById(id_re).value=re;
var pf=document.getElementById(id_pf).value;
var cf=document.getElementById(id_cf).value;
var rf=re-cf+pf; document.getElementById(id_rf).value=rf;
var pe=document.getElementById(id_pe).value;
var ce=document.getElementById(id_ce).value;
var rc=rf-ce+pe; document.getElementById(id_rc).value=rc;
var is=document.getElementById(id_is).value;
var rn=rc-is; document.getElementById(id_rn).value=rn;
}
</script>
Dans le corps:
<form name="form1" id="form1">
<table width="1076">
<tr>
<td width="291">CA</td>
<td align="left" width="319">= Comptes 70 + 71 + 72</td>
<td align="center" width="452"><input type="text" name="ca" id="ca" value="= cpte 70 + cpte 71 + cpte 72" onFocus="if (this.value=='= cpte 70 + cpte 71 + cpte 72') {this.value=''}"
size="63"></td>
</tr>
<tr>
<td width="291">Achats</td>
<td align="left" width="319">= Compte 60</td>
<td align="center" width="452"><input type="text" name="ac" id="ac" value="= cpte 60" onFocus="if (this.value=='= cpte 60') {this.value=''}"size="63"></td>
</tr>
<tr>
<td align="right" width="610" colspan="2"><font color="#FF0000">Marge brute</font></td>
<td align="center" width="452"><font color="#FF0000"><input type="text" value="" name="mb" onFocus="this.form.sx.focus()" id="mb" size="63" ></font>
</tr>
<tr>
<td width="291">Services extérieurs</td>
<td align="left" width="319">= Comptes 61 + 62</td>
<td align="center" width="452"><input type="text" name="sx" id="sx" value="= cpte 61 + cpte 62" onFocus="if (this.value=='= cpte 61 + cpte 62') {this.value=''}"size="63"></td>
</tr>
<tr>
<td align="right" width="610" colspan="2"><font color="#FF0000">Valeur ajoutée</font></td>
<td align="center" width="452"><font color="#FF0000"><input type="text" value="" name="va" onfocus="this.form.it.focus()" id="va" size="63" ></font>
</tr>
<tr>
<td width="291">Impôts et Taxes</td>
<td align="left" width="319">= Compte 63</td>
<td align="center" width="452"><input type="text" name="it" id="it" value="= cpte 63" onFocus="if (this.value=='= cpte 63') {this.value=''}"size="63"></td>
</tr>
<tr>
<td width="291">Charges de Personnel</td>
<td align="left" width="319">= Compte 64</td>
<td align="center" width="452"><input type="text" name="cp" id="cp" value="= cpte 64" onFocus="if (this.value=='= cpte 64') {this.value=''}"size="63"></td>
</tr>
<tr>
<td width="291">Subventions d'exploitation</td>
<td align="left" width="319">= Compte 74</td>
<td align="center" width="452"><input type="text" name="se" id="se" value="= cpte 74" onFocus="if (this.value=='= cpte 74') {this.value=''}"size="63"></td>
</tr>
<tr>
<td align="right" width="610" colspan="2"><font color="#FF0000">Excédent brut d'exploitation</font></td>
<td align="center" width="452"><font color="#FF0000"><input type="text" value="" name="eb" onfocus="this.form.da.focus()" id="eb" size="63" ></font>
</tr>
<tr>
<td width="291">Dotations aux amortissements</td>
<td align="left" width="319">= Compte 68</td>
<td align="center" width="452"><input type="text" name="da" id="da" value="= cpte 68" onFocus="if (this.value=='= cpte 68') {this.value=''}"size="63"></td>
</tr>
<tr>
<td width="291">Autres charges de gestion</td>
<td align="left" width="319">= Compte 65</td>
<td align="center" width="452"><input type="text" name="cg" id="cg" value="= cpte 65" onFocus="if (this.value=='= cpte 65') {this.value=''}"size="63"></td>
</tr>
<tr>
<td width="291">Autres produits de gestion</td>
<td align="left" width="319">= Compte 75</td>
<td align="center" width="452"><input type="text" name="pg" id="pg" value="= cpte 75" onFocus="if (this.value=='= cpte 75') {this.value=''}"size="63"></td>
</tr>
<tr>
<td width="291">Reprises sur amortissement</td>
<td align="left" width="319">= Compte 78</td>
<td align="center" width="452"><input type="text" name="ra" id="ra" value="= cpte 78" onFocus="if (this.value=='= cpte 78') {this.value=''}"size="63"></td>
</tr>
<tr>
<td align="right" width="610" colspan="2"><font color="#FF0000">Résultat d'exploitation</font></td>
<td align="center" width="452"><font color="#FF0000"><input type="text" value="" name="re" onfocus="this.form.pf.focus()" id="re" size="63"></font>
</tr>
<tr>
<td width="291">Produits financiers</td>
<td align="left" width="319">= Compte 76</td>
<td align="center" width="452"><input type="text" name="pf" id="pf" value="= cpte 76" onFocus="if (this.value=='= cpte 76') {this.value=''}"size="63"></td>
</tr>
<tr>
<td width="291">Charges financières</td>
<td align="left" width="319">= Compte 66</td>
<td align="center" width="452"><input type="text" name="cf" id="cf" value="= cpte 66" onFocus="if (this.value=='= cpte 66') {this.value=''}"size="63"></td>
</tr>
<tr>
<td align="right" width="610" colspan="2"><font color="#FF0000">Résultat financier, dit Courant</font></td>
<td align="center" width="452"><font color="#FF0000"><input type="text" value="" name="rf" onfocus="this.form.pe.focus()" id="rf" size="63"></font>
</tr>
<tr>
<td width="291">Produits exceptionnels</td>
<td align="left" width="319">= Compte 77</td>
<td align="center" width="452"><input type="text" name="pe" id="pe" value="= cpte 77" onFocus="if (this.value=='= cpte 77') {this.value=''}"size="63"></td>
</tr>
<tr>
<td width="291">Charges exceptionnelles</td>
<td align="left" width="319">= Compte 67</td>
<td align="center" width="452"><input type="text" name="ce" id="ce" value="= cpte 67" onFocus="if (this.value=='= cpte 67') {this.value=''}"size="63"></td>
</tr>
<tr>
<td align="right" width="610" colspan="2"><font color="#FF0000">Résultat exceptionnel</font></td>
<td align="center" width="452"><font color="#FF0000"><input type="text" value="" name="rc" onfocus="this.form.is.focus()" id="rc" size="63" ></font>
</tr>
<tr>
<td width="291">
<p align="left">Impôts sur les sociétés</td>
<td align="left" width="319">= Compte 69 (uniquement pour les sociétés)</td>
<td align="center" width="452"><input type="text" name="is" id="is" value="= cpte 69" onFocus="if (this.value=='= cpte 69') {this.value=''}"size="63"></td>
</tr>
<tr align="center">
<td width="610" colspan="2" align="right"><font color="#FF0000">Résultat Net</font></td>
<td align="center" width="452"><font color="#FF0000"><input type="text" value="" name="rn" onfocus="this.blur()" id="rn" size="63"></font>
</tr>
<tr align="center">
<td colspan="3"><input type="button" name="calculer" id="calculer" value="Calculer" onClick="fct_calculer('ca','ac','mb','sx','va','it','cp','se','eb','da','cg','pg','ra','re','pf','cf','rf','pe','ce','rc','is','rn');"></td>
</tr>
</table>
</form>
Dans le principe, c'est à peu près la même chose que ton script, sauf que je n'ai qu'une colone de calcul, avec somme intermédiaire... Peut-être que mon erreur est là? ça fait une heure que j'y suis, je ne trouve toujours pas...
Merci de ton aide
Mayo.
Prenant modèle sur ton script, et fouillant le site www.toutjavascript.com, j'ai rédigé ce script... malheureusement, il doit y avoir une erreur quelque part, et je ne la vois pas... peux-tu me donner ton avis?
Dans l'en-tête:
<script language="javascript" type="text/javascript">
//fonction javascript de calcul
function fct_calculer(id_ca,id_ac,id_mb,id_sx,id_va,id_it,id_cp,id_se,id_eb,id_da,id_cg,id_pg,id_ra,id_re,id_pf,id_cf,id_rf,id_pe,id_ce,id_rc,id_is,id_rn){
var ca=document.getElementById(id_ca).value;
var ac=document.getElementById(id_ac).value;
var mb=ca-ac; document.getElementById(id_mb).value=mb;
var sx=document.getElementById(id_sx).value;
var va=mb-sx; document.getElementById(id_va).value=va;
var it=document.getElementById(id_it).value;
var cp=document.getElementById(id_cp).value;
var se=document.getElementById(id_se).value;
var eb=va-it-cp+se; document.getElementById(id_eb).value=eb;
var da=document.getElementById(id_da).value;
var cg=document.getElementById(id_cg).value;
var pg=document.getElementById(id_pg).value;
var ra=document.getElementById(id ra).value;
var re=eb-da-cg+pg+ra; document.getElementById(id_re).value=re;
var pf=document.getElementById(id_pf).value;
var cf=document.getElementById(id_cf).value;
var rf=re-cf+pf; document.getElementById(id_rf).value=rf;
var pe=document.getElementById(id_pe).value;
var ce=document.getElementById(id_ce).value;
var rc=rf-ce+pe; document.getElementById(id_rc).value=rc;
var is=document.getElementById(id_is).value;
var rn=rc-is; document.getElementById(id_rn).value=rn;
}
</script>
Dans le corps:
<form name="form1" id="form1">
<table width="1076">
<tr>
<td width="291">CA</td>
<td align="left" width="319">= Comptes 70 + 71 + 72</td>
<td align="center" width="452"><input type="text" name="ca" id="ca" value="= cpte 70 + cpte 71 + cpte 72" onFocus="if (this.value=='= cpte 70 + cpte 71 + cpte 72') {this.value=''}"
size="63"></td>
</tr>
<tr>
<td width="291">Achats</td>
<td align="left" width="319">= Compte 60</td>
<td align="center" width="452"><input type="text" name="ac" id="ac" value="= cpte 60" onFocus="if (this.value=='= cpte 60') {this.value=''}"size="63"></td>
</tr>
<tr>
<td align="right" width="610" colspan="2"><font color="#FF0000">Marge brute</font></td>
<td align="center" width="452"><font color="#FF0000"><input type="text" value="" name="mb" onFocus="this.form.sx.focus()" id="mb" size="63" ></font>
</tr>
<tr>
<td width="291">Services extérieurs</td>
<td align="left" width="319">= Comptes 61 + 62</td>
<td align="center" width="452"><input type="text" name="sx" id="sx" value="= cpte 61 + cpte 62" onFocus="if (this.value=='= cpte 61 + cpte 62') {this.value=''}"size="63"></td>
</tr>
<tr>
<td align="right" width="610" colspan="2"><font color="#FF0000">Valeur ajoutée</font></td>
<td align="center" width="452"><font color="#FF0000"><input type="text" value="" name="va" onfocus="this.form.it.focus()" id="va" size="63" ></font>
</tr>
<tr>
<td width="291">Impôts et Taxes</td>
<td align="left" width="319">= Compte 63</td>
<td align="center" width="452"><input type="text" name="it" id="it" value="= cpte 63" onFocus="if (this.value=='= cpte 63') {this.value=''}"size="63"></td>
</tr>
<tr>
<td width="291">Charges de Personnel</td>
<td align="left" width="319">= Compte 64</td>
<td align="center" width="452"><input type="text" name="cp" id="cp" value="= cpte 64" onFocus="if (this.value=='= cpte 64') {this.value=''}"size="63"></td>
</tr>
<tr>
<td width="291">Subventions d'exploitation</td>
<td align="left" width="319">= Compte 74</td>
<td align="center" width="452"><input type="text" name="se" id="se" value="= cpte 74" onFocus="if (this.value=='= cpte 74') {this.value=''}"size="63"></td>
</tr>
<tr>
<td align="right" width="610" colspan="2"><font color="#FF0000">Excédent brut d'exploitation</font></td>
<td align="center" width="452"><font color="#FF0000"><input type="text" value="" name="eb" onfocus="this.form.da.focus()" id="eb" size="63" ></font>
</tr>
<tr>
<td width="291">Dotations aux amortissements</td>
<td align="left" width="319">= Compte 68</td>
<td align="center" width="452"><input type="text" name="da" id="da" value="= cpte 68" onFocus="if (this.value=='= cpte 68') {this.value=''}"size="63"></td>
</tr>
<tr>
<td width="291">Autres charges de gestion</td>
<td align="left" width="319">= Compte 65</td>
<td align="center" width="452"><input type="text" name="cg" id="cg" value="= cpte 65" onFocus="if (this.value=='= cpte 65') {this.value=''}"size="63"></td>
</tr>
<tr>
<td width="291">Autres produits de gestion</td>
<td align="left" width="319">= Compte 75</td>
<td align="center" width="452"><input type="text" name="pg" id="pg" value="= cpte 75" onFocus="if (this.value=='= cpte 75') {this.value=''}"size="63"></td>
</tr>
<tr>
<td width="291">Reprises sur amortissement</td>
<td align="left" width="319">= Compte 78</td>
<td align="center" width="452"><input type="text" name="ra" id="ra" value="= cpte 78" onFocus="if (this.value=='= cpte 78') {this.value=''}"size="63"></td>
</tr>
<tr>
<td align="right" width="610" colspan="2"><font color="#FF0000">Résultat d'exploitation</font></td>
<td align="center" width="452"><font color="#FF0000"><input type="text" value="" name="re" onfocus="this.form.pf.focus()" id="re" size="63"></font>
</tr>
<tr>
<td width="291">Produits financiers</td>
<td align="left" width="319">= Compte 76</td>
<td align="center" width="452"><input type="text" name="pf" id="pf" value="= cpte 76" onFocus="if (this.value=='= cpte 76') {this.value=''}"size="63"></td>
</tr>
<tr>
<td width="291">Charges financières</td>
<td align="left" width="319">= Compte 66</td>
<td align="center" width="452"><input type="text" name="cf" id="cf" value="= cpte 66" onFocus="if (this.value=='= cpte 66') {this.value=''}"size="63"></td>
</tr>
<tr>
<td align="right" width="610" colspan="2"><font color="#FF0000">Résultat financier, dit Courant</font></td>
<td align="center" width="452"><font color="#FF0000"><input type="text" value="" name="rf" onfocus="this.form.pe.focus()" id="rf" size="63"></font>
</tr>
<tr>
<td width="291">Produits exceptionnels</td>
<td align="left" width="319">= Compte 77</td>
<td align="center" width="452"><input type="text" name="pe" id="pe" value="= cpte 77" onFocus="if (this.value=='= cpte 77') {this.value=''}"size="63"></td>
</tr>
<tr>
<td width="291">Charges exceptionnelles</td>
<td align="left" width="319">= Compte 67</td>
<td align="center" width="452"><input type="text" name="ce" id="ce" value="= cpte 67" onFocus="if (this.value=='= cpte 67') {this.value=''}"size="63"></td>
</tr>
<tr>
<td align="right" width="610" colspan="2"><font color="#FF0000">Résultat exceptionnel</font></td>
<td align="center" width="452"><font color="#FF0000"><input type="text" value="" name="rc" onfocus="this.form.is.focus()" id="rc" size="63" ></font>
</tr>
<tr>
<td width="291">
<p align="left">Impôts sur les sociétés</td>
<td align="left" width="319">= Compte 69 (uniquement pour les sociétés)</td>
<td align="center" width="452"><input type="text" name="is" id="is" value="= cpte 69" onFocus="if (this.value=='= cpte 69') {this.value=''}"size="63"></td>
</tr>
<tr align="center">
<td width="610" colspan="2" align="right"><font color="#FF0000">Résultat Net</font></td>
<td align="center" width="452"><font color="#FF0000"><input type="text" value="" name="rn" onfocus="this.blur()" id="rn" size="63"></font>
</tr>
<tr align="center">
<td colspan="3"><input type="button" name="calculer" id="calculer" value="Calculer" onClick="fct_calculer('ca','ac','mb','sx','va','it','cp','se','eb','da','cg','pg','ra','re','pf','cf','rf','pe','ce','rc','is','rn');"></td>
</tr>
</table>
</form>
Dans le principe, c'est à peu près la même chose que ton script, sauf que je n'ai qu'une colone de calcul, avec somme intermédiaire... Peut-être que mon erreur est là? ça fait une heure que j'y suis, je ne trouve toujours pas...
Merci de ton aide
Mayo.
Bonsoir,
Tu as fait un truc balaise !
tu as une erreur la:
function fct_calculer(id_ca,id_ac,id_mb,id_sx,id_va,id_it,id_cp,id_se,id_eb,id_da,id_cg,id_pg,id_ra-,id_re,id_pf,id_cf,id_rf,id_pe,id_ce,id_rc,id_is,id_rn){
un - en trop sur id_ra
de même dans l'appel de la fonction:
<input type="button" name="calculer" id="calculer" value="Calculer" onClick="fct_calculer('ca','ac','mb','sx','va','it','cp','se','eb','da','cg','pg','ra','re','pf','cf','rf','pe','ce','rc','is','rn');"></td>
Mais c'est bizarre car il n'apparait pas sur le site CCM, ce n'est qu'en faisant un copier coller de ton code dans Notepad++ que je l'ai vu ??
et dans ta fonction
var ra=document.getElementById(id_ra).value;
il manque le _
regardes ça de plus près.
En rectifiant ça chez moi ça marche sur Firefox et IE
@lain
Tu as fait un truc balaise !
tu as une erreur la:
function fct_calculer(id_ca,id_ac,id_mb,id_sx,id_va,id_it,id_cp,id_se,id_eb,id_da,id_cg,id_pg,id_ra-,id_re,id_pf,id_cf,id_rf,id_pe,id_ce,id_rc,id_is,id_rn){
un - en trop sur id_ra
de même dans l'appel de la fonction:
<input type="button" name="calculer" id="calculer" value="Calculer" onClick="fct_calculer('ca','ac','mb','sx','va','it','cp','se','eb','da','cg','pg','ra','re','pf','cf','rf','pe','ce','rc','is','rn');"></td>
Mais c'est bizarre car il n'apparait pas sur le site CCM, ce n'est qu'en faisant un copier coller de ton code dans Notepad++ que je l'ai vu ??
et dans ta fonction
var ra=document.getElementById(id_ra).value;
il manque le _
regardes ça de plus près.
En rectifiant ça chez moi ça marche sur Firefox et IE
@lain
un GRAND merci!!!
je suis bien contente, enfin mon calculateur fonctionne, et je pense que je pourrais maintenant en créer autant que nécessaire pour mes internautes!! Voilà, tout fonctionne!! je vais pouvoir classer cette discussion comme étant résolue, et pour les curieux, ce script correspond aux soldes intermédiaires de gestion, une façon (comme tant d'autre) d'obtenir des indicateurs de gestion, pour les grandes, mais aussi pour les petites structures (c'est surtout pour eux), associatives ou sociétales.
Merci Alain, et je trinque au cidre (en bonne bretonne que je suis) en te remerciant!
Mayo.
je suis bien contente, enfin mon calculateur fonctionne, et je pense que je pourrais maintenant en créer autant que nécessaire pour mes internautes!! Voilà, tout fonctionne!! je vais pouvoir classer cette discussion comme étant résolue, et pour les curieux, ce script correspond aux soldes intermédiaires de gestion, une façon (comme tant d'autre) d'obtenir des indicateurs de gestion, pour les grandes, mais aussi pour les petites structures (c'est surtout pour eux), associatives ou sociétales.
Merci Alain, et je trinque au cidre (en bonne bretonne que je suis) en te remerciant!
Mayo.
Halte à l'euphorie!!
Tout ne fonctionne pas parfaitement bien!!
Voilà, je me rends compte que les calculs du genre
a=b-c+d ne fonctionne pas. Il doit y avoir des règles de priorité de calcul, mais je ne les comprends pas. par exemple, pour une valeur b=100, c=10 et d=10
au lieu d'obtenir a=100
j'obtiens a=9010 c'est à dire qu'il considère le premier calcul 100-10, mais le second est un "ajout" et non une addition. ainsi, 9010...
J'ai beau mettre des parenthèses, et inverser le sens des + ou - , je me rends compte que le script ne considère toujours que le premier calcul et pas les suivants...
Que faire??
Tout ne fonctionne pas parfaitement bien!!
Voilà, je me rends compte que les calculs du genre
a=b-c+d ne fonctionne pas. Il doit y avoir des règles de priorité de calcul, mais je ne les comprends pas. par exemple, pour une valeur b=100, c=10 et d=10
au lieu d'obtenir a=100
j'obtiens a=9010 c'est à dire qu'il considère le premier calcul 100-10, mais le second est un "ajout" et non une addition. ainsi, 9010...
J'ai beau mettre des parenthèses, et inverser le sens des + ou - , je me rends compte que le script ne considère toujours que le premier calcul et pas les suivants...
Que faire??
Bonjour la bretagne,
J'ai vécu qq temps à Larmor plage.
Pour ton pb cela vien du fait que JS prend des valeurs comme chaine et pas comme numerique quand tu fais +
+ étant pour lui un opérateur de concaténation
donc il faut le forcer à les prendre en numerique.
Dès que j'ai un moment j'essaye de te regarder ça.
@lain
J'ai vécu qq temps à Larmor plage.
Pour ton pb cela vien du fait que JS prend des valeurs comme chaine et pas comme numerique quand tu fais +
+ étant pour lui un opérateur de concaténation
donc il faut le forcer à les prendre en numerique.
Dès que j'ai un moment j'essaye de te regarder ça.
@lain
en complement:
un début de piste essayes comme ça:
@lain
un début de piste essayes comme ça:
//fonction javascript de calcul function fct_calculer(id_ca,id_ac,id_mb,id_sx,id_va,id_it,id_cp,id_se,id_eb,id_da,id_cg,id_pg,id_ra,id_re,id_pf,id_cf,id_rf,id_pe,id_ce,id_rc,id_is,id_rn){ var ca=parseFloat(document.getElementById(id_ca).value); var ac=parseFloat(document.getElementById(id_ac).value); var mb=eval(ca-ac); document.getElementById(id_mb).value=mb; var sx=parseFloat(document.getElementById(id_sx).value); var va=eval(mb-sx); document.getElementById(id_va).value=va; var it=parseFloat(document.getElementById(id_it).value); var cp=parseFloat(document.getElementById(id_cp).value); var se=parseFloat(document.getElementById(id_se).value); var eb=eval(va-it-cp+se); document.getElementById(id_eb).value=eb; etc.....
@lain
haaaa!!!!! merci beaucoup!
Du coup, ça me donne envie d'essayer une nouvelle chose.
Avec le début de script qui suit, je peux faire afficher la valeur "mb" en ratio par rapport à "ca". ex: pour ca=100, ac=25, j'obtiens donc mb=0.75. Ce qui signifie donc que "mb" représente 0.75ca, autrement dit, 75%.
Pour trouver ce que vaut "va", toujours en fonction de "ca", j'ai les lignes suivantes, et surprise! ça fonctionne! (je n'en suis pas peu fière d'avoir trouvé ça!) donc pour sx=10, j'ai va=0.65, c'est à dire 65% de "ca".
_____________________________________________________
<script language="javascript" type="text/javascript">
//fonction javascript de calcul
function fct_calculer(id_ca,id_ac,id_mb,id_sx,id_va,id_it,id_cp,id_se,id_eb,id_da,id_cg,id_pg,id_ra,id_re,id_pf,id_cf,id_rf,id_pe,id_ce,id_rc,id_is,id_rn,id_tot){
var ca=parseFloat (document.getElementById(id_ca).value);
var ac=parseFloat (document.getElementById(id_ac).value);
var mb=eval((ca-ac)/ca); document.getElementById(id_mb).value=mb;
var sx=parseFloat (document.getElementById(id_sx).value);
var va=eval(((mb*ca)-sx)/ca); document.getElementById(id_va).value=va;
_______________________________________________________
Ma question maintenant (si ça ne t'ennuie pas de me donner un dernier(?!) tuyau), c'est comment faire pour que les valeurs "mb" et "va" apparaissement en % ? Je suppose qu'il faille donner une instruction d'affichage, mais je ne connais pas la commande. j'avais essayé en multipliant par 100 (*100), et si ça fontionne pour trouver "mb", ce n'est plus le cas pour trouver la valeur "va"...
Je me demande si cette demande n'est pas à effectuer dans la fonction type="text" dans le corps??
_______________________________________________________
<tr>
<td align="right" width="610" colspan="2"><font color="#FF0000">Marge brute
</font></td>
<td align="center" width="452"><font color="#FF0000"> <input type="text" value="" name="mb" onFocus="this.form.sx.focus()" id="mb" size="20" style="color: #FF0000; font-weight: bold; text-align: center" >
</font>
</tr>
______________________________________________________
Avec cette information, je pense que je serai à même de pouvoir créer tous les autres indicateurs dont j'ai besoin pour mon site.
Avec un GRAND merci pour toutes les questions auxquelles tu as déjà répondu!
Mayo.
Du coup, ça me donne envie d'essayer une nouvelle chose.
Avec le début de script qui suit, je peux faire afficher la valeur "mb" en ratio par rapport à "ca". ex: pour ca=100, ac=25, j'obtiens donc mb=0.75. Ce qui signifie donc que "mb" représente 0.75ca, autrement dit, 75%.
Pour trouver ce que vaut "va", toujours en fonction de "ca", j'ai les lignes suivantes, et surprise! ça fonctionne! (je n'en suis pas peu fière d'avoir trouvé ça!) donc pour sx=10, j'ai va=0.65, c'est à dire 65% de "ca".
_____________________________________________________
<script language="javascript" type="text/javascript">
//fonction javascript de calcul
function fct_calculer(id_ca,id_ac,id_mb,id_sx,id_va,id_it,id_cp,id_se,id_eb,id_da,id_cg,id_pg,id_ra,id_re,id_pf,id_cf,id_rf,id_pe,id_ce,id_rc,id_is,id_rn,id_tot){
var ca=parseFloat (document.getElementById(id_ca).value);
var ac=parseFloat (document.getElementById(id_ac).value);
var mb=eval((ca-ac)/ca); document.getElementById(id_mb).value=mb;
var sx=parseFloat (document.getElementById(id_sx).value);
var va=eval(((mb*ca)-sx)/ca); document.getElementById(id_va).value=va;
_______________________________________________________
Ma question maintenant (si ça ne t'ennuie pas de me donner un dernier(?!) tuyau), c'est comment faire pour que les valeurs "mb" et "va" apparaissement en % ? Je suppose qu'il faille donner une instruction d'affichage, mais je ne connais pas la commande. j'avais essayé en multipliant par 100 (*100), et si ça fontionne pour trouver "mb", ce n'est plus le cas pour trouver la valeur "va"...
Je me demande si cette demande n'est pas à effectuer dans la fonction type="text" dans le corps??
_______________________________________________________
<tr>
<td align="right" width="610" colspan="2"><font color="#FF0000">Marge brute
</font></td>
<td align="center" width="452"><font color="#FF0000"> <input type="text" value="" name="mb" onFocus="this.form.sx.focus()" id="mb" size="20" style="color: #FF0000; font-weight: bold; text-align: center" >
</font>
</tr>
______________________________________________________
Avec cette information, je pense que je serai à même de pouvoir créer tous les autres indicateurs dont j'ai besoin pour mon site.
Avec un GRAND merci pour toutes les questions auxquelles tu as déjà répondu!
Mayo.