Calculatrice multifonction

Soyez le premier à donner votre avis sur cette source.

Vue 8 043 fois - Téléchargée 1 729 fois

Description

Cette calculatrice en est une de plus, elle fait calculatrice classique, convertisseur Fr-euros, et passe de ht a ttc avec le choix de la TVA 5,5% ou 19,6%.
J'ai essaiyé de travailler le code pour que si l'on se serve du clavier numèrique ca marche, et c operationnelle pour le chiffre mais pas encore pour les virgules, ni pour les operateur.
si quelqu'un a la solution merci de me la faire passer par mail ou en commentaire.

Codes Sources

A voir également

Ajouter un commentaire

Commentaires

Messages postés
26
Date d'inscription
vendredi 9 septembre 2005
Statut
Membre
Dernière intervention
12 avril 2009

Salut
Le problème de ta calculette, c'est qu'elle ne permet pas de faire des gros calculs : par exemple, avec parenthèses et gestion des priorités...
Si tu veux l'améliorer, j'ai posté une source qui va dans ce sens : http://www.vbfrance.com/code.aspx?ID=46070
Messages postés
33
Date d'inscription
vendredi 1 août 2003
Statut
Membre
Dernière intervention
26 août 2008

Si ca t'interesse... ça récupère le clavier numérique et ca calcule.

une form, deux label : calcul et visu et un module.

Dim ch1 As Single
Dim ch2 As Single
Dim tot As Single
Dim Addition As Boolean
Dim Multiplication As Boolean
Dim Division As Boolean
Dim Soustraction As Boolean
Dim ope As Boolean
Private Sub Form_Load()
'calcul = calcul & Chr(KeyAscii)
calcul = "0"
End Sub

Private Sub form_KeyPress(KeyAscii As Integer)
calcul = calcul & Chr(KeyAscii)
visu = visu & Chr(KeyAscii)
If Left(calcul, 1) "0" Then calcul Right(calcul, Len(calcul) - 1)
If ope True Then calcul Right(calcul, 1): ope = False
If KeyAscii 27 Then calcul "0": visu = "": ch1 = 0: ch2 = 0: tot = 0

If KeyAscii = 43 Then
ch1 virgule(Left(calcul, Len(calcul) - 1)): ope True: calcul = Left(calcul, Len(calcul) - 1)
'calcul = "0"
Addition = True
End If
If KeyAscii = 45 Then
ch1 virgule(Left(calcul, Len(calcul) - 1)): ope True: calcul = Left(calcul, Len(calcul) - 1)
Soustraction = True
'calcul = "0"
End If
If KeyAscii = 47 Then
ch1 virgule(Left(calcul, Len(calcul) - 1)): ope True: calcul = Left(calcul, Len(calcul) - 1)
Division = True
'calcul = "0"
End If
If KeyAscii = 42 Then
ch1 virgule(Left(calcul, Len(calcul) - 1)): ope True: calcul = Left(calcul, Len(calcul) - 1)
Multiplication = True
'calcul = "0"
End If
If KeyAscii = 13 Then
If Multiplication = True Then
ch2 = virgule(calcul)
tot = ch1 * ch2
calcul = tot
visu = visu & "=(" & tot & ") "
End If
If Division = True Then
ch2 = virgule(calcul)
tot = ch1 / ch2
calcul = tot
visu = visu & "=(" & tot & ") "
End If
If Soustraction = True Then
ch2 = virgule(calcul)
tot = ch1 - ch2
calcul = tot
visu = visu & "=(" & tot & ") "
End If
If Addition = True Then
ch2 = virgule(calcul)
tot = ch1 + ch2
calcul = tot
visu = visu & "=(" & tot & ") "
End If
Addition = False
Multiplication = False
Division = False
Soustraction = False
End If

'text2 = KeyAscii
End Sub


'************************
'et ceci dans un module
'************************
Function virgule(entree As String) As Single
If InStr(1, entree, ".") Then virgule Replace(entree, ".", ",") Else virgule CSng(entree)
End Function
Messages postés
921
Date d'inscription
vendredi 20 décembre 2002
Statut
Membre
Dernière intervention
23 septembre 2010

Au moins, ça a le mérite d'être simple, claire et précis, sans lacune...
Rien à ajouter... 9/10
Saros

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.