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 :

r�partition et test de condition


Sujet :

JavaScript

Vue hybride

Message pr�c�dent Message pr�c�dent   Message suivant Message suivant
  1. #1
    Membre confirm�
    Homme Profil pro
    �tudiant
    Inscrit en
    Avril 2007
    Messages
    197
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Yvelines (�le de France)

    Informations professionnelles :
    Activit� : �tudiant
    Secteur : Conseil

    Informations forums :
    Inscription : Avril 2007
    Messages : 197
    Par d�faut r�partition et test de condition
    Bonjour � tous,

    je dois faire un script ou plutot une fonction qui permet � partir de montants donn�s, et d'un montant saisie (un acompte) de faire une repartition de ce montant.

    Par exemple si j'ai le montant p1= 15000 et le montant p2 de 500 et un acompte de 15200 alors p1 deviendra 0 et p2 deviendra 300 (ce qu'il restera) en fait il s'agit d'une repartition, le soucis c'est que j'ai une 20 aine de champs a tester tous identifi�s par la lettre p incr�ment�e d'un num�ro.

    du coup je me retrouve avec cette fonction � r�aliser, mais je m'y perds un peu car cela fait un nombre de conditions infinis, �tant donn� que l'acompte peut �tre plus grand que tous les nombres, auquel cas il faut r�partir tant que le nombre est > a zero puis passer sur la tranche suivante pour r�partir ce qu'il reste.

    Enfin pour tester les conditions et le reste, c'est � dire imputer le montant c'est pas un soucis, c'est juste que cela me fait en fait pas mal de conditions car l'acompte peut englober tout ou partie des montants, du coup je me demandais s'il n'existait pas des alternatives plutot que de tester chaque champ?

    en php j'aurais fais �a avec une boucle je pense, en javascript je ne sais pas comment proc�der.

    Par avance merci si vous avez des id�e.

    Pour l'heure j'ai fais cet �bauche de script mais je me rends compte que je m'y perds dans les conditions.

    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
     <script type="text/javascript">
      function ventilation()
     {
     var montantacompte	= document.getElementById("montantacompte").value;
     var p1				= document.getElementById("p1").value;
     var p2				= document.getElementById("p2").value;	
     var p3				= document.getElementById("p3").value;	
     var p4				= document.getElementById("p4").value;	 
     var p5				= document.getElementById("p5").value;		
     var p7				= document.getElementById("p7").value;	 				
     var p8				= document.getElementById("p8").value;	 
     var p9				= document.getElementById("p9").value;	 
     var p10			= document.getElementById("p10").value;	
     var p11			= document.getElementById("p11").value;	  
     var p12			= document.getElementById("p12").value;	 
     var p13			= document.getElementById("p13").value;
     var m1				= document.getElementById("m1").value;
     var m2				= document.getElementById("m2").value;	
     var m3				= document.getElementById("m3").value;	
     var m4				= document.getElementById("m4").value;	 
     var m5				= document.getElementById("m5").value;		
     var m7				= document.getElementById("m7").value;	 				
     var m8				= document.getElementById("m8").value;	 
     var m9				= document.getElementById("m9").value;	 
     var m10			= document.getElementById("m10").value;	
     var m11			= document.getElementById("m11").value;	  
     var m12			= document.getElementById("m12").value;	 
     var m13			= document.getElementById("m13").value;	 	 
     
     	if(p1>0 &&p1-montantacompte>=0)
    	 {
     
    		 f1=p1-montantacompte;
    		 document.getElementById('p1').value=f1;
    		 document.getElementById('o1').value=Math.round(montantacompte*100)/100;
    	 }
    	 	if(p1>0 &&p1-montantacompte<=(p1+p2))
    	 {
    		 reste1=montantacompte-p1;
    		 impute=p1;
    		 impute2=reste1;
    		 f1=m1-impute;
    		 document.getElementById('p1').value=f1;
    		 document.getElementById('o1').value=Math.round(impute*100)/100;
    		 document.getElementById('o2').value=Math.round(impute2*100)/100;
     
    	 }
     
     }
    </script>

  2. #2
    Membre tr�s actif
    Homme Profil pro
    Inscrit en
    Juin 2012
    Messages
    136
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Nord (Nord Pas de Calais)

    Informations forums :
    Inscription : Juin 2012
    Messages : 136
    Par d�faut
    Bonjour,

    Si j'ai bien compris tu as 3 variables :
    $p3=$p2-$p1
    c'est ca ?

  3. #3
    Membre confirm�
    Homme Profil pro
    �tudiant
    Inscrit en
    Avril 2007
    Messages
    197
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Yvelines (�le de France)

    Informations professionnelles :
    Activit� : �tudiant
    Secteur : Conseil

    Informations forums :
    Inscription : Avril 2007
    Messages : 197
    Par d�faut
    non en fait tous ces montant sont des montants bien diff�rents, p3 != p2 !=p1 (ils peuvent �tre �gaux, mais �a va vraiment de l'al�a) et c'est plutot tr�s rare. a vrai dire je ne l'ai m�me jamais vu. mais �a pourrait.

    en fait j'ai un acompte qui fait par exmeple 1500 �

    et le montant doit se r�partir sur les diff�rents postes

    Nom : Sans titrez.png
Affichages : 279
Taille : 36,2 Ko

    voila dans l'exemple attach�, on retrouve dans la colone de droite tous les montants p1 et en dessous p2 etc...

    ce que je voudrais gfaire c'est que tant que un montant n'est pas nul, alors on impute, ce qu'il va de l'acompte jusqu'� ce que le montant devienne nul, a droite, et apr�s on passe sur les postes suivants jusqu'� ce que l'acompte soit existant.

    par exemple la a droite 16058.82 et en dessous 205.16

    si par exemple l'acompte est de 16100 alors on aura 16058.82 imput� sur le premier poste et la diff�rence sur la second, etc pour tous les postes.

  4. #4
    Membre confirm�
    Homme Profil pro
    �tudiant
    Inscrit en
    Avril 2007
    Messages
    197
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Yvelines (�le de France)

    Informations professionnelles :
    Activit� : �tudiant
    Secteur : Conseil

    Informations forums :
    Inscription : Avril 2007
    Messages : 197
    Par d�faut
    j'ai egalement essayer de faire une boucle mais je n'y arrives pas, je ne sais pas quelle solution est la mieux adapt�e.

    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
    <script type="text/javascript">
      function ventilation()
     {
     var reste      	= document.getElementById("montantacompte").value;
     var ac 			= document.getElementById("montantacompte").value;
     var p1				= document.getElementById("p1").value;
     var p2				= document.getElementById("p2").value;	
     var p3				= document.getElementById("p3").value;	
     var p4				= document.getElementById("p4").value;	 
     var p5				= document.getElementById("p5").value;		
     var p7				= document.getElementById("p7").value;	 				
     var p8				= document.getElementById("p8").value;	 
     var p9				= document.getElementById("p9").value;	 
     var p10			= document.getElementById("p10").value;	
     var p11			= document.getElementById("p11").value;	  
     var p12			= document.getElementById("p12").value;	 
     var p13			= document.getElementById("p13").value;
     var c				= 1;
     while(reste>0 && c<13)
     {
    	 if(reste> 'p'+c)
    	 {
    		 reste = 'p'+c -  ac;
    		 document.getElementById('p'+c).value=Math.round(honoraires*100)/100;
    		 print reste;
    	 }
     }
     
    </script>

Discussions similaires

  1. [Calculs VBA] Test de condition sous VBA
    Par guen dans le forum VBA Access
    R�ponses: 8
    Dernier message: 28/11/2007, 17h52
  2. Compilateur test des conditions dans un if
    Par BenoitM dans le forum Framework .NET
    R�ponses: 4
    Dernier message: 03/10/2007, 10h07
  3. [Htaccess] - Tests et conditions
    Par Samyhijodelaluna dans le forum Apache
    R�ponses: 11
    Dernier message: 17/07/2007, 15h34
  4. structure d un test de condition avec ?
    Par *alexandre* dans le forum Langage
    R�ponses: 4
    Dernier message: 11/12/2006, 10h56
  5. Unordered list , test et condition d'arret
    Par NeHuS dans le forum ASP
    R�ponses: 2
    Dernier message: 23/05/2006, 15h13

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