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
| <HTML>
<HEAD>
<title>Mon premier prog de calcul</title>
<HTA:APPLICATION
MAXIMIZEBUTTON="no"
SCROLL="no"
BORDER = "thin"
>
<SCRIPT language="VBScript" type="text/vbscript">
'redimensionner la fenêtre de départ en centrant la page
ResizeTo 350,120: MoveTo (Screen.Width-350)/2,(Screen.Height - 120) / 2
</SCRIPT>
<style>
/* partie estetique des différents controles sur la page */
label{
position: relative;
left:10px;
color:blue;
}
input{
position:absolute;
left:150px
}
</style>
</HEAD>
<BODY>
<label id="Lab1">Saisir prix d'achat:</label> <INPUT TYPE="text" id="Achat" Title="Enter pour calculer" SIZE="20" MAXLENGTH="30" VALUE="">
<BR>
<label id="Lab2">Saisir prix de vente:</label> <INPUT TYPE="text" id="Vente" Title="Enter pour calculer" SIZE="20" MAXLENGTH="30" VALUE="">
<script language="VBScript">
'message pour traitement d'erreur, la variable MsG est valide dans toutes la partie Script
dim MsG: MsG = "Entrez un nombre valide (Exemple: 123,456)"
' ----------------------------- évènement controle -------------------------------------------
Sub Window_Onload()
Achat.focus() 'pour que le curseur souris soit sur l'input Achat
end sub
Sub Achat_onkeyup()
if ToucheValide(window.event.keyCode) = false then exit sub
'gestion du separateur decimale
Achat.value = replace(Achat.value,".",",")
if EntrerValide(Achat.value)=false then msgbox MsG:exit sub 'quitte imediatement la sub
'ici on sait que l'on traite bien un nombre
Vente.value = FormatNumber((Achat.value * 1.15 - 0.01),2)'on limite à 2 decimale
end sub
Sub Vente_onkeyup()
if ToucheValide(window.event.keyCode) = false then exit sub
Vente.value = replace(Vente.value,".",",")
if EntrerValide(Vente.value)=false then msgbox MsG:exit sub
Achat.value = FormatNumber((Vente.value+0.01) / 1.15,2)
end sub
' ----------------------------------- gestion globale des erreurs ------------------------------
function ToucheValide(CodeKey)
ToucheValide = true
if CodeKey <> 13 then ' si la touche est inégale à Enter
'vérifier que la touche égal un chiffre ou un point ou une virgule
if ((CodeKey <49 Or CodeKey > 59) and (CodeKey <> 46 or CodeKey <> 44)) then
'si non, faire quitter la sub qui a appelée cette fonction
ToucheValide = false
end if
end if
end function
function EntrerValide(valeur)
EntrerValide = IsNumeric(valeur) 'renvoie false si valeur n'est pas un nombre, sinon true
end function
</script>
</BODY>
</HTML> |
Partager