cs_Nestor
Messages postés182Date d'inscriptionmardi 8 janvier 2002StatutMembreDernière intervention 2 octobre 2012
-
26 nov. 2005 à 09:32
Gobillot
Messages postés3140Date d'inscriptionvendredi 14 mai 2004StatutMembreDernière intervention11 mars 2019
-
26 nov. 2005 à 18:16
salut
je voudrais me faire un convertisseur de points en euros.
exemple; 1000 points vaut 0,0473?
je fais donc 1000 / 0,0473 = 21141.64
ce qui fait dans VB:
Text2.Text = Text1.Text / 21141.64
puis je divise mon resultat par un euro
comme la valeur change tout les mois, je met un textbox pour indiquer la valeur pour 1000 points
si je met: Text2.Text = Text1.Text / Text3.Text
VB ne veut pas calculer !!!
pourquoi ?
si quelqu'un a une solution, merci d'avance.
cs_Nestor
Messages postés182Date d'inscriptionmardi 8 janvier 2002StatutMembreDernière intervention 2 octobre 2012 26 nov. 2005 à 10:45
marche pas
voila mon code:
Dim Actif As String
Private Sub Text1_Change()
Dim traduit As Single
If Text1.Text <> "" And Actif = "traduit" Then
traduit = Text1.Text
'Text2.Text = Text1.Text / 21141.64 'opération division de 1000 par 0.0473? (comme cette valeur change chaque mois)
Text2.Text = Val(Text1) / Val(Text5) 'maintenant je dois calculer avec le contenu de Text5
Text2.Text = Round(Text2.Text, 4) 'arondis à 4 chiffre en euro
Text3.Text = Round(Text2.Text * 0.0072) '21141.64 diviser par 6.55957 <= Text5 Text4.Text Round(Text2.Text * 6.55957, 2) '1? 6.55957 francs et arondis à 2 chiffres
End If
End Sub
cs_Nestor
Messages postés182Date d'inscriptionmardi 8 janvier 2002StatutMembreDernière intervention 2 octobre 2012 26 nov. 2005 à 11:23
ya trop de chose dans ta méthode
avec Text2.Text = Val(Text1)/Val(Text5) ca marche mais si j'entre 1000 points, j'ai 21141,649 euro alors que je devrais trouver que 0,0473?
cs_DARKSIDIOUS
Messages postés15814Date d'inscriptionjeudi 8 août 2002StatutMembreDernière intervention 4 mars 2013130 26 nov. 2005 à 11:44
ma méthode est plus complète, bien que plus complexe : dans la méthode
que tu utilise, je pense pas que les point soit interprêté
automatiquement en virgule par exemple.
_____________________________________________________________________
DarK Sidious
Un API Viewer (pour le VB, VB.NET, C, C# et Delphi) tout en français : www.ProgOtoP.com/popapi/
cs_Nestor
Messages postés182Date d'inscriptionmardi 8 janvier 2002StatutMembreDernière intervention 2 octobre 2012 26 nov. 2005 à 12:07
oui elle est très très bien ta méthode, mais la non j'ai pas de virgule à traité dans les points à calculer.
j'ai oublié un bout de code tout à l'heure.. voila le tout.
Option Explicit
Dim Actif As String 'déclaration pour traduire les points en monais
Public i As Integer 'déclaration de i comme 'instant'
Private Sub Text1_Change()
Dim traduit As Single
If Text1.Text <> "" And Actif = "traduit" Then
traduit = Text1.Text
'Text2.Text = Text1.Text / 21141.649 'opération division de 1000 par 0.0473?(comme cette valeur change chaque mois)
Text2.Text = Val(Text1) / Val(Text5) 'maintenant je dois calculer avec Text5
Text2.Text = Round(Text2.Text, 4) ''arondis à 4 chiffre en euro
Text3.Text = Round(Text2.Text * 0.0072) '21141.64 diviser par 6.55957 <= Text5 Text4.Text Round(Text2.Text * 6.55957, 2) '1? 6.55957 francs et arondis à 2 chiffres
End If
End Sub
Private Sub text1_GotFocus()
Actif = "traduit"
Text1.Text = ""
Text2.Text = ""
Text4.Text = ""
End Sub
Private Sub Text1_KeyPress(KeyAscii As Integer) 'accepte que des chiffres, sinon bipbip
Dim c
KeyAscii = Asc(Chr(KeyAscii))
c = Chr(KeyAscii)
If Not c Like "[0-9]" And Not KeyAscii = 8 Then
KeyAscii = 0
Beep
End If
End Sub
----------------------------------------------------------------------
5 textbox:
text1 = points
text2 = eurostext3 non visible sur le form pour diviser le taux pour 1000 point par un euro (1000 / 0.0473 21141.64 / 6.55957)
text4 = convertion en francs
Gobillot
Messages postés3140Date d'inscriptionvendredi 14 mai 2004StatutMembreDernière intervention11 mars 201934 26 nov. 2005 à 18:16
tu mélanges les calculs avec des chaînes au lieu de numériques.
dans les chaînes il y a des virgules (à tous les coups) et pour
le numérique c'est des points, ce qui fait un mélange pas possible.
j'ai pas compris ce qu'il doit y avoir dans Text3 à moins que ce soit Text5 ???
<strike>Text5 = "21141,649"</strike> 'pas certain que ce soit une virgule
Text5 = 21141.649
ce qui provoque une conversion en Ascii d'un numérique donc on se
retrouve avec une virgule (tout dépend de la configuration) et Val ne
connait pas la virgule.
Text2.Text = <strike>Val(</strike>Text1<strike>)</strike> / <strike>Val(</strike>Text5<strike>)</strike> 'maintenant je dois calculer avec Text5
ce qui donne:
Text2.Text = Text1 / Text5 'maintenant je dois calculer avec Text5