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 tva avec JavaScript


Sujet :

JavaScript

Vue hybride

Message pr�c�dent Message pr�c�dent   Message suivant Message suivant
  1. #1
    Candidat au Club
    Inscrit en
    Juillet 2006
    Messages
    2
    D�tails du profil
    Informations forums :
    Inscription : Juillet 2006
    Messages : 2
    Par d�faut Calcul tva avec JavaScript
    Salut,
    Debutant je developpe une page web de calcul automatique de la TVA et TTC, mon probleme est que le calcul s'effectuera suivant des options du menu deroulant (je suis novice en JS ). je vous donne les formules:
    cette est page con�ue pour une association de bienfaisance, votre contribution sera donc un don.

    Si nature de la vente= option 2,3 et 5 alors la tva=0
    Si nature de la vente= option 1,4,6 et 7 alors tva= Montant HT*0,18
    Et TTC=Montant HT+TVA

    j'y joins le code html pour vous permettre de tester.

    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
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "<a href="http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd" target="_blank">http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd</a>">
    <html xmlns="<a href="http://www.w3.org/1999/xhtml" target="_blank">http://www.w3.org/1999/xhtml</a>">
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
    <title>Document sans nom</title>
    <style type="text/css">
    <!--
    .Style1 {
    font-size: xx-large;
    font-weight: bold;
    }
    body {
    background-color: #CCCCCC;
    }
    .Style2 {font-size: medium; font-weight: bold; }
    -->
    </style>
    </head>
    <body>
    <form id="form1" name="form1" method="post" action="">
    <p align="center" class="Style1">Saisie Vente </p>
    <p align="left">
    <label></label>
    </p>
    <p align="left" class="Style2">
    <label>Nature chiffre d'affaire
    <select name="select">
    <option>Montant des affaires &agrave; l'exportation taxable &agrave; l'interieur</option>
    <option>Montant des affaires &agrave; l'exportation non-taxable &agrave; l'interieur</option>
    <option>Montant des affaires &eacute;x&eacute;nor&eacute;es autres que les exportations </option>
    <option>Livraison &agrave; soi-m&ecirc;me</option>
    <option>Montant des affaires r&eacute;alis&eacute;es en suspension</option>
    <option>Montant des affaires soumises au pr&eacute;compte de T.V.A</option>
    <option>Montant des autres affaires taxable &agrave; l'interieur</option>
    </select>
    </label>
    </p>
    <p>
    <label></label>
    </p>
    <p>
    <label><strong>Client</strong>
    <input name="textfield2" type="text" maxlength="40" />
    </label>
    </p>
    <p>
    <label><strong>N°Facture</strong>
    <input name="textfield3" type="text" maxlength="15" />
    </label>
    </p>
    <p>
    <label><strong>Montant H.T</strong>
    <input name="textfield4" type="text" value="0" maxlength="30" />
    </label>
    </p>
    <p>
    <label><strong>TVA</strong>
    <input name="textfield5" type="text" value="0" maxlength="30" />
    </label>
    </p>
    <p>
    <label><strong>Montant TTC</strong>
    <input type="text" name="textfield" />
    </label>
    </p>
    </form>
    </body>
    </html>

  2. #2
    Expert confirm�

    Profil pro
    Fabricant et casseur d'avions
    Inscrit en
    Avril 2004
    Messages
    3 818
    D�tails du profil
    Informations personnelles :
    Localisation : France, Tarn (Midi Pyr�n�es)

    Informations professionnelles :
    Activit� : Fabricant et casseur d'avions
    Secteur : A�ronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Avril 2004
    Messages : 3 818
    Par d�faut
    Salut,

    Tu n'es pas dans le bon forum, �a risque de prendre un peu de temps pour la r�ponse si tu restes ici...

    Tu as un forum Javascript, l�: http://www.developpez.net/forums/forumdisplay.php?f=23

    Je pense que tu y trouveras plus de support...
    "Errare humanum est, sed perseverare diabolicum"

    Ma page sur DVP.com

  3. #3
    Membre Expert
    Avatar de FremyCompany
    Profil pro
    �tudiant
    Inscrit en
    F�vrier 2006
    Messages
    2 532
    D�tails du profil
    Informations personnelles :
    �ge : 34
    Localisation : Belgique

    Informations professionnelles :
    Activit� : �tudiant

    Informations forums :
    Inscription : F�vrier 2006
    Messages : 2 532
    Par d�faut
    Pour calculer la TVA :
    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
    <script>function calculeTVA() {
        var select=document.getElementsByName("select")[0]
        var montantInput=document.getElementsByName("textfield4")[0]
        var tvaInput=document.getElementsByName("textfield5")[0]
        switch (select.selectedIndex)) {
            case 0:
            case 3:
            case 5:
            case 6:
                tvaInput.value=Math.round(parseFloat(montantInput.value)*18)/100
                break;
            default:
                tvaInput.value=0
                break;
        }
    }</script>
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    <select name="select" onchange="calculeTVA()">

  4. #4
    Inactif  
    Avatar de Kerod
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    11 672
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 11 672
    Par d�faut
    Pour aller au plus simple, tu mets � chaque option le value correspondant et apr�s tu fais juste le calcul :
    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
    <select name="select" onchange="getvalue(this.value)">
    <option value="0.18">Montant des affaires &agrave; l'exportation taxable &agrave; l'interieur</option>
    <option value="0"
    >Montant des affaires &agrave; l'exportation non-taxable &agrave; l'interieur</option>
    <option value="0"
    >Montant des affaires &eacute;x&eacute;nor&eacute;es autres que les exportations </option>
    <option value="0.18"
    >Livraison &agrave; soi-m&ecirc;me</option>
    <option value="0"
    >Montant des affaires r&eacute;alis&eacute;es en suspension</option>
    <option value="0.18"
    >Montant des affaires soumises au pr&eacute;compte de T.V.A</option>
    <option value="0.18"
    >Montant des autres affaires taxable &agrave; l'interieur</option>
    </select>
    Et pour le calcul, tu modifies ceci :
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    <label><strong>Montant H.T</strong>
    <input name="textfield4" id="montant_ht" type="text" value="0" maxlength="30" />
    </label>
    </p>
    <p>
    <label><strong>TVA</strong>
    <input name="textfield5" id="tva" type="text" value="0" maxlength="30" />
    </label>
    </p>
    <p>
    <label><strong>Montant TTC</strong>
    <input type="text" id="montant_ttc" name="textfield" />
    </label>
    </p>
    Puis reste plus qu'� faire une petite fonction

    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
    6
    <script language="javascript">
    function getvalue(tva_value)
    {
        document.getElementById('tva').value = parseFloat(document.getElementById('montant_ht').value) * tva_value;
       document.getElementById('montant_ttc').value = parseFloat(document.getElementById('tva').value) + parseFloat(document.getElementById('montant_ht').value);
    }</script>
    Ce qui donne au final (et ca fonctionne, j'ai test�) :
    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
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
    <title>Document sans nom</title>
    <style type="text/css">
    <!--
    .Style1 {
    font-size: xx-large;
    font-weight: bold;
    }
    body {
    background-color: #CCCCCC;
    }
    .Style2 {font-size: medium; font-weight: bold; }
    -->
    </style>
    <script language="javascript">
    function getvalue(tva_value)
    {
        document.getElementById('tva').value = parseFloat(document.getElementById('montant_ht').value) * tva_value;
       document.getElementById('montant_ttc').value = parseFloat(document.getElementById('tva').value) + parseFloat(document.getElementById('montant_ht').value);
    }</script>
    </head>
    <body>
    <form id="form1" name="form1" method="post" action="">
    <p align="center" class="Style1">Saisie Vente </p>
    <p align="left">
    <label></label>
    </p>
    <p align="left" class="Style2">
    <label>Nature chiffre d'affaire
    <select name="select" onchange="getvalue(this.value)">
    <option value="0.18">Montant des affaires &agrave; l'exportation taxable &agrave; l'interieur</option>
    <option value="0"
    >Montant des affaires &agrave; l'exportation non-taxable &agrave; l'interieur</option>
    <option value="0"
    >Montant des affaires &eacute;x&eacute;nor&eacute;es autres que les exportations </option>
    <option value="0.18"
    >Livraison &agrave; soi-m&ecirc;me</option>
    <option value="0"
    >Montant des affaires r&eacute;alis&eacute;es en suspension</option>
    <option value="0.18"
    >Montant des affaires soumises au pr&eacute;compte de T.V.A</option>
    <option value="0.18"
    >Montant des autres affaires taxable &agrave; l'interieur</option>
    </select>
    </label>
    </p>
    <p>
    <label></label>
    </p>
    <p>
    <label><strong>Client</strong>
    <input name="textfield2" type="text" maxlength="40" />
    </label>
    </p>
    <p>
    <label><strong>N°Facture</strong>
    <input name="textfield3" type="text" maxlength="15" />
    </label>
    </p>
    <p>
    <label><strong>Montant H.T</strong>
    <input name="textfield4" id="montant_ht" type="text" value="0" maxlength="30" />
    </label>
    </p>
    <p>
    <label><strong>TVA</strong>
    <input name="textfield5" id="tva" type="text" value="0" maxlength="30" />
    </label>
    </p>
    <p>
    <label><strong>Montant TTC</strong>
    <input type="text" id="montant_ttc" name="textfield" />
    </label>
    </p>
    </form>
    </body>
    </html>

  5. #5
    Membre Expert

    Profil pro
    Inscrit en
    Ao�t 2002
    Messages
    1 060
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Ao�t 2002
    Messages : 1 060
    Par d�faut
    Bonjour,

    Une autre solution :
    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
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
     
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml">
      <head>
        <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
        <title>Document sans nom</title>
        <script type="text/javascript">
          //-- si changement de tva, seule change cette ligne ---------
          var pourCentTva = 0.18;
     
          function calcul(obj)
          {
            var valeur = parseInt(obj.options[obj.selectedIndex].value, 10);
            if (valeur == '#')
              return;
     
            var ht = parseFloat(obj.form.ht.value);
            if (valeur)
            {
              var tva = Math.round(ht * pourCentTva * 100) / 100;
              var ttc = ht + tva;
            }
            else
            {
              var tva = 0;
              var ttc = ht;
            }
            obj.form.tva.value = tva;
            obj.form.ttc.value = ttc;
          }
        </script>
        <style type="text/css">
          <!--
          .Style1 {
          font-size: xx-large;
          font-weight: bold;
          }
          body {
          background-color: #CCCCCC;
          }
          .Style2 {font-size: medium; font-weight: bold; }
          -->
        </style>
      </head>
      <body>
        <form id="form1" name="form1" method="post" action="">
          <p align="center" class="Style1">Saisie Vente </p>
          <p>
            <label><strong>Client</strong>
              <input name="textfield2" type="text" maxlength="40" />
            </label>
          </p>
          <p>
            <label><strong>N°Facture</strong>
              <input name="textfield3" type="text" maxlength="15" />
            </label>
          </p>
          <p>
            <label><strong>Montant H.T</strong>
              <input name="ht" type="text" value="0" maxlength="30" />
            </label>
          </p>
          <p>
            <label><strong>TVA</strong>
              <input name="tva" type="text" value="0" maxlength="30" />
            </label>
          </p>
          <p>
            <label><strong>Montant TTC</strong>
              <input name="ttc" type="text" />
            </label>
          </p>
          <p align="left" class="Style2">
            <label>Nature chiffre d'affaire
              <select name="select" onchange="calcul(this)">
                <option value="#">-- Sélectionnez le type de chiffre d'affaires --</option>
                <option value="1">Montant des affaires &agrave; l'exportation taxable &agrave; l'interieur</option>
                <option value="0">Montant des affaires &agrave; l'exportation non-taxable &agrave; l'interieur</option>
                <option value="0">Montant des affaires &eacute;x&eacute;nor&eacute;es autres que les exportations </option>
                <option value="1">Livraison &agrave; soi-m&ecirc;me</option>
                <option value="0">Montant des affaires r&eacute;alis&eacute;es en suspension</option>
                <option value="1">Montant des affaires soumises au pr&eacute;compte de T.V.A</option>
                <option value="1">Montant des autres affaires taxable &agrave; l'interieur</option>
              </select>
            </label>
          </p>
        </form>
      </body>
    </html>
    D�placement du "select" en fin de formulaire, car il faut d�j� avoir saisi une valeur pour qu'un calcul s'effectue.
    Ajout d'une option dans le "select" car si l'option � s�lectionner est la 1�re, l'�v�nement "onchange" ne se d�clenche pas.
    Dans les options :
    • value = 0 = pas de tva
    • value = 1 = tva

  6. #6
    Membre confirm�
    Homme Profil pro
    D�veloppeur Web
    Inscrit en
    Juillet 2009
    Messages
    83
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activit� : D�veloppeur Web
    Secteur : High Tech - Multim�dia et Internet

    Informations forums :
    Inscription : Juillet 2009
    Messages : 83
    Par d�faut Calcul du prix HT/TTC via jQuery
    Bonjour,
    Un script ultra simple pour convertir les prix ht/ttc via jquery (+html5) :
    https://webnext.fr/calcul-ht-ttc-tva-js.php

  7. #7
    R�dacteur

    Avatar de danielhagnoul
    Homme Profil pro
    �tudiant perp�tuel
    Inscrit en
    F�vrier 2009
    Messages
    6 389
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 75
    Localisation : Belgique

    Informations professionnelles :
    Activit� : �tudiant perp�tuel
    Secteur : Enseignement

    Informations forums :
    Inscription : F�vrier 2009
    Messages : 6 389
    Billets dans le blog
    125
    Par d�faut
    @gambic : la r�ponse arrive trop tard

    Blog

    Sans l'analyse et la conception, la programmation est l'art d'ajouter des bogues � un fichier texte vide.
    (Louis Srygley : Without requirements or design, programming is the art of adding bugs to an empty text file.)

Discussions similaires

  1. [AC-2010] TVA avec champ calcul�
    Par scoobydoos dans le forum Mod�lisation
    R�ponses: 7
    Dernier message: 08/11/2010, 10h39
  2. Calcul de PGCD avec JavaScript
    Par vcxcoder dans le forum G�n�ral JavaScript
    R�ponses: 1
    Dernier message: 12/02/2010, 20h18
  3. Calcul facture avec diff�rents taux de TVA
    Par Koopa55 dans le forum Excel
    R�ponses: 4
    Dernier message: 23/01/2008, 10h01
  4. [MySQL] script calcul devis avec tva
    Par faucon54 dans le forum PHP & Base de donn�es
    R�ponses: 2
    Dernier message: 15/05/2007, 11h18
  5. Modifier un champs texte avec une fonction PHP (calcul TVA)
    Par Stella2809 dans le forum G�n�ral JavaScript
    R�ponses: 1
    Dernier message: 22/11/2005, 00h55

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