Télécharger le zip
excellent script, mais comment obtenir le résultat sous forme imprimé?Ou tout au moins pouvoir l'imprimer à partir d'un bouton?J'ai fait plusieurs essais mais je n'ai rien trouvé. Je ne suis pas très doué....Merci
merci.soit tu utilises le menu de ton navigateur : Fichiers / Imprimer,soit tu remplaces les document.write par des window.print,[ en remplaçant les table/tr/td... pour la mise en forme à l'écran par des espaces pour le "cadrage" à l'imprimante si nécessaire ]@+
Merci pour ta réponse.C'est la deuxième solution qui m'intéresse.;-))))Je vais l'essayer.@+
très bien... mais j'ai répondu n'importe quoi,l'alcool sans doute, soit trop, soit pasencore ma dose....window.print c'est imprimer la page, pas uneligne, donc ce que je te suggérais ne peut pasfonctionner.fais plus simplement ce print en fin de script.@+
Euh? oui? où ça alors? Parce que j'avais déjà essayé de le placer en différents endroits fin de script et ça n'a jamais fonctionné.:-((((
juste derrière le dernier document.write...document.write("</table>");window.print();}}}}</script>...@+
Ben non. J'avais déjà essayé et ça ne fonctionne pas. On obtient bien l'affichage à l'écran mais c'est tout.Le seul moyen d'imprimer reste "Fichiers / Imprimer" mais ce n'est pas très "pratique".J'ai essayé d'inserer un bouton pour imprimer, mais toute modification ou ajout dans le code provoque son plantage.Ce qui rend impossible une "personnalisation" de l'affichage des résultats (fond couleur, logo en tête,etc..). J'ai tout juste pu centrer le tableau dans la page. Seule l'affichage de départ peut être personnalisé (la partie html du code).Dommage car c'est un très bon code pour les calculs....@+.;-)))
ah... je viens de contrôler...tu dois utiliser IE ! effectivement, il doit rester un zouzou avec luiavec les autres navigateurs, ça baigneje regarde et te dis.@+
alors surtout ne me demande pas pourquoi avec IE, ça ne fonctionne pas ! lesdocument.write ne doivent pas lui plaire ?( pas trouvé, mais pas cherché beaucoup ! ) j'ai doncajouté devant la balise <html><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html>remplacé les document.write par impr+=et ajouté un var impr="" en têtevar impr="";impr+=("<font face='courier new' size=2><table border=0>");en fin de script ajouté le print...ça doit baignerle plus simple (?) je te met la source :========================================<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html><head><title>prêts</title><script type="text/JavaScript">function Mef(valeur) { dec=" "+Math.floor(valeur*100)/100; i=dec.lastIndexOf("."); if (i!=(dec.length-3)) { if (i<0) { dec=dec+".00"; } else { if (i>(dec.length-2)) { dec=dec.substring(0,i+2); } else { z="00"; dec=dec+z.substring(0,dec.length-i-1); }}} if (dec.length>12) { dec=dec.substring(0,11); } else { if (dec.length<12) { b=''; for (z=0;z<=12-dec.length;z++) b=b+" "; dec=b+dec; } }return dec; }function Calcul() {Af=document.Saisie.Montant.value;if (Af<1) alert ("montant du prêt erroné"); else {Y=document.Saisie.Duree.value;if (Y<1 || Y>35) alert("Durée erronée"); else {Nf = Y * 12;Ir=document.Saisie.Taux.value;if (Ir<1 || Ir>20) alert("Taux erroné"); else {Rf = (Ir / 1200);P1 = Af * ( Rf / ( 1 - ( 1 / ( Math.pow ( ( 1 + Rf ), Nf ) ) ) ) ) ;Pf = Math.floor ( ( P1 + 0.005 ) * 100) / 100 ;impr+=("<b>Prêt de "+document.Saisie.Montant.value+"? sur "+document.Saisie.Duree.value+ " ans, au taux de "+document.Saisie.Taux.value+"% => Echéances de " + Pf + "? par mois<br>");Amort=new Array();Amort[0,1] = Af;Cp=0;Ci=0;var impr="";impr+=("<font face='courier new' size=2><table border=0>");impr+=("<tr><th><font size=2><b>Mois</th><th><font size=2><b>Année</th>");impr+=(" <th><font size=2><b>Echéance</th>");impr+=(" <th><font size=2><b>Principal</th><th><font size=2><b>Intérêts</th>");impr+=(" <th><font size=2><b>Reste</th><th><font size=2><b>Payé</th></tr>");for ( I=1 ; I <= Nf ; I++ ) { Amort[I, 2] = Amort[I - 1, 1] * Rf; Amort[I, 2] = Math.floor((Amort[I, 2] + 0.005) * 100) / 100; Amort[I, 1] = Amort[I - 1, 1] - Pf + Amort[I, 2]; Amort[I, 1] = Math.floor ( ( Amort[I, 1] + 0.005 ) * 100 ) / 100; T1 = I - Math.floor ( ( I - 1 ) / 12 ) * 12; T2 = 1 + Math.floor ( ( I - 1 ) / 12 ); impr+=("<tr><td><font size=2>"+T1+"</td>"); impr+=(" <td><font size=2>"+T2+"</td>"); impr+=(" <td><font size=2>"+I+"</td>"); impr+=(" <td><font size=2>"+Mef(Pf - Amort[I, 2])+"</td>"); impr+=(" <td><font size=2>"+Mef(Amort[I,2])+"</td>"); impr+=(" <td><font size=2>"+Mef(Amort[I, 1])+"</td>"); impr+=(" <td><font size=2>"+Mef(Pf * I)+"</td></tr>"); Cp = Cp + Pf - Amort[I, 2]; Ci = Ci + Amort[I, 2];}Cp = Math.floor((Cp + 0.005) * 100) / 100;Ci = Math.floor((Ci + 0.005) * 100) / 100;impr+=("<tr><td></td><td></td><td></td>");impr+=(" <td><font size=2><b>"+Mef(Cp)+"</td>");impr+=(" <td><font size=2><b>"+Mef(Ci)+"</td>");impr+=(" <td></td>");impr+=(" <td><font size=2><b>"+Mef(Cp+Ci)+"</td></tr>");impr+=("</table>");document.body.innerHTML+=impr;window.print();}}}}</script></head><body bgcolor="#FFFFFF"><center><font face='courier new' size=2><table border=4 cellpadding=0 cellspacing=0> <tr><th><font color="#004040" size="2">Montant<br> du prêt</th> <th><font color="#004040" size="2">Durée en<br> années</th> <th><font color="#004040" size="2">Taux<br> Entiers . Décimales</th> </tr> <tr><form name="Saisie" method="post" action="javascript:Calcul();"> <th><input type="text" size=11 name="Montant" > </th> <th><input type="text" size=2 name="Duree" > </th> <th><input type="text" size=7 name="Taux" > </th> <th><input type="submit" name="Lancer" value="Calcul"> </th></form> </tr></table></body></html>je me rends compte, que j'ai totalementmodifé cela chez moi, et qu'il reste icides choses "pas bien", dès que je prendsle temps je mettrais une version ( unpeu plus ) propremais j'ai paré au plus vite...
YES.!!!maintenant ça fonctionne.!!Je ne peux pas juger de la "propreté" de ton code car je ne suis pas un grand spécialiste (je suis plutôt un "script raider".;-)).Peut-on éviter le reste en fin de calcul qui donne une valeur négative?************Mois Année Echéance Principal Intérêts Reste Payé 11 3 35 1630.40 13.07 1636.74 57521.45 12 3 36 1636.92 6.55 -0.18 59164.92 55000.18 4164.74 59164.92 ***********Pour ce calcul :somme 55000année 3taux 4.8Je sais, je cherche la petite bête.....
teste le résultat et si c'est négatif...n'imprime pas ou met 0, ou ... ce que tu veux@+
Bonne idée, j'aurai du y penser avant.;-((((Merci pour le mal que tu te donnes avec moi......Excuse moi d'être aussi pinailleur, surtout pour quelqu'un qui n'y connait pas grand chose...;-))@++
comme perso je n'y comprend pas grand chose non plus,et encore moins sur ces formules financières ;o)
Se souvenir du profil
Mot de passe oublié ? / Activation de compteCréer un compte
1 872 151 membres 214 nouveaux aujourd'hui 16 147 membres club