Aide au calcule

cs_Nestor Messages postés 182 Date d'inscription mardi 8 janvier 2002 Statut Membre Dernière intervention 2 octobre 2012 - 26 nov. 2005 à 09:32
Gobillot Messages postés 3140 Date d'inscription vendredi 14 mai 2004 Statut Membre Dernière intervention 11 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.

8 réponses

jpleroisse Messages postés 1788 Date d'inscription mardi 7 novembre 2000 Statut Membre Dernière intervention 11 mars 2006 27
26 nov. 2005 à 09:52
Bonjour,

Essaye ceci.Tu n'est pas obligé de mettre .Text.



Text2.Text = Val(Text1)/Val(Text3).



jpleroisse



Si une réponse vous convient, cliquez Réponse Acceptée.
0
cs_DARKSIDIOUS Messages postés 15814 Date d'inscription jeudi 8 août 2002 Statut Membre Dernière intervention 4 mars 2013 130
26 nov. 2005 à 09:52
Sûrement un problème de décimale :

Let Text2.Text = CDbl(Replace(Text1.Text, ".", ",")) / CDbl(Replace(Text3.Text, ".", ","))


_____________________________________________________________________
DarK Sidious

Un API Viewer (pour le VB, VB.NET, C, C# et Delphi) tout en français : www.ProgOtoP.com/popapi/
0
cs_Nestor Messages postés 182 Date d'inscription mardi 8 janvier 2002 Statut Membre Derniè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

merci de votre aide
0
cs_DARKSIDIOUS Messages postés 15814 Date d'inscription jeudi 8 août 2002 Statut Membre Dernière intervention 4 mars 2013 130
26 nov. 2005 à 11:05
Utilise ma méthode de calcul pour remplacer les points par des virgules, ca vient sûrement de là !

_____________________________________________________________________
DarK Sidious

Un API Viewer (pour le VB, VB.NET, C, C# et Delphi) tout en français : www.ProgOtoP.com/popapi/
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
cs_Nestor Messages postés 182 Date d'inscription mardi 8 janvier 2002 Statut Membre Derniè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?
0
cs_DARKSIDIOUS Messages postés 15814 Date d'inscription jeudi 8 août 2002 Statut Membre Dernière intervention 4 mars 2013 130
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/
0
cs_Nestor Messages postés 182 Date d'inscription mardi 8 janvier 2002 Statut Membre Derniè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
0
Gobillot Messages postés 3140 Date d'inscription vendredi 14 mai 2004 Statut Membre Dernière intervention 11 mars 2019 34
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

Daniel
0
Rejoignez-nous