Renfield
Messages postés17287Date d'inscriptionmercredi 2 janvier 2002StatutModérateurDernière intervention27 septembre 2021
-
25 mai 2003 à 12:51
Renfield
Messages postés17287Date d'inscriptionmercredi 2 janvier 2002StatutModérateurDernière intervention27 septembre 2021
-
29 mai 2003 à 22:36
Cette discussion concerne un article du site. Pour la consulter dans son contexte d'origine, cliquez sur le lien ci-dessous.
Renfield
Messages postés17287Date d'inscriptionmercredi 2 janvier 2002StatutModérateurDernière intervention27 septembre 202174 29 mai 2003 à 22:36
utilises un format :
format ( 5 , "0.00") donneras 5.00
zoneoz
Messages postés6Date d'inscriptionmercredi 30 avril 2003StatutMembreDernière intervention25 février 2004 29 mai 2003 à 20:57
RE
moi aussi pour m'entrainer j'ai fait mon petit convertisseur
ya juste un truc chiant que je retrouve ici : comment fixer à 2décimales les zones de textes ?
ps: l'option currency ne marche visiblement pas chez moi
Renfield
Messages postés17287Date d'inscriptionmercredi 2 janvier 2002StatutModérateurDernière intervention27 septembre 202174 25 mai 2003 à 18:10
voila une tip interessante !
VicoLaChips2
Messages postés436Date d'inscriptiondimanche 20 janvier 2002StatutMembreDernière intervention 2 février 20102 25 mai 2003 à 17:49
voilà la façon la + simple !!
'Si la suite office est présente
'voici le moyen le plus simple !!
'qui s'appuie sur la dll msoeuro.dll
'qui se trouve dans :
'C:\Program Files\Fichiers communs\Microsoft Shared\Euro
'--------------------------------
Dim objEuro As Object
Set objEuro = CreateObject("MSOEURO.Converter")
Debug.Print FormatNumber(objEuro.Convert(450, "FRF", "EUR", 2), 2)
'pour les autres monaies taper FRF dans msdn
'@Plus
Renfield
Messages postés17287Date d'inscriptionmercredi 2 janvier 2002StatutModérateurDernière intervention27 septembre 202174 25 mai 2003 à 15:24
regardes la procedure KeyPress......
z980x
Messages postés897Date d'inscriptionjeudi 6 juin 2002StatutMembreDernière intervention26 juillet 20072 25 mai 2003 à 14:07
pour le text, j'ai compris mon erreur, c'est vrai...
Pour ne mettre que des chiffres, tu fais comment?
Renfield
Messages postés17287Date d'inscriptionmercredi 2 janvier 2002StatutModérateurDernière intervention27 septembre 202174 25 mai 2003 à 13:27
simple, oui, mais tu ne gérait pas les erreurs....et ton timer est très casse-pieds, et inutile !!!!! enfin bon !
ce que je disais, au sujet de la remise a 0 , c'est que dans ton code , tu vides les textboxes , au lieu de mettre effectivement 0 !!! mais ceci se compense avec les conditions ajoutées dans l'evenement Change.
enfin, ton code est simple, mais comporte des erreurs !!!!!
notamment le .text = 0 or 1 , qui n'est que pure hérésie !
ou encore la possibilité qui existait de saisir autre chose que des nombres.......
z980x
Messages postés897Date d'inscriptionjeudi 6 juin 2002StatutMembreDernière intervention26 juillet 20072 25 mai 2003 à 13:23
C'est vrai que c'est compliqué pour , je le dis encore une fois, une chose très simple et sans avenir...
Pour mon code, je trouve que c'est le plus simple...
Je ne dis pas le plus beau, mais LE PLUS SIMPLE !
C'est bien l'essentiel quand tu veux aider qqun, non?
Sinon pour le changement des points en virgule, je ne l'ai pas fais car chez moi ca marche aussi avec les points...
Par contre, c'est vrai que ca:
Private Sub Combo1_Click()
If Combo1.Text = "Euros vers Francs" Then
Label1.Caption = "Euros"
Label3.Caption = "Francs"
Else
Label1.Caption = "Francs"
Label3.Caption = "Euros"
End If
End Sub
J'aurais pu, et j'aurais DU y penser !
Pour la remise à zéro, je ne comprend pas trop ce que tu dis...
Remttre le texte a 0 est ce qu'il y a de plus simple et de plus rapide, non?
Encore une chose, ca je ne connaissais pas et ca m'interesse :
'on retire les chaînes vides
If Text1.Text = vbNullString Then
Text1.Text = 0
Text1.SelStart = 0
Text1.SelLength = 1
End If
'on attend qu'un nombre soit saisit
If Not IsNumeric(Text1.Text) Then
Text2.Text = 0
Exit Sub
End If
Merci pour ca Renfield !
Renfield
Messages postés17287Date d'inscriptionmercredi 2 janvier 2002StatutModérateurDernière intervention27 septembre 202174 25 mai 2003 à 13:05
je ne fait que me conformer au fonctionnement de son appli.......
quant a ton "Then: Else:" , il te suffisait d'enlever le "Not" !!!!! alors, fait simple, si tu me trouve complexe...
vjeux
Messages postés92Date d'inscriptionlundi 14 avril 2003StatutMembreDernière intervention 5 décembre 2003 25 mai 2003 à 12:53
Que c'est compliqué !
Private Sub Text1_Change()
If Not IsNumeric(Text1) Then: Else: Text2.Text = Text1 * 6.55957
End Sub
Private Sub Text2_Change()
If Not IsNumeric(Text2) Then: Else: Text1.Text = Text2 / 6.55957
End Sub
Renfield
Messages postés17287Date d'inscriptionmercredi 2 janvier 2002StatutModérateurDernière intervention27 septembre 202174 25 mai 2003 à 12:51
je sais pas si c'est pour aider qq'un mais le FRANC EST MORT et enterré !! lol
non , je voulais juste dire que plein de choses me derangent dans ton programme...
voici ma version corrigée, fais en ce que tu veux......
Private Sub Combo1_Click()
If Combo1.Text = "Euros vers Francs" Then
Label1.Caption = "Euros"
Label3.Caption = "Francs"
Else
Label1.Caption = "Francs"
Label3.Caption = "Euros"
End If
End Sub
Private Sub Command1_Click()
End
End Sub
Private Sub Command2_Click()
'si on remet a 0 , on remet pas des chaînes vides !! on remet a 0
Text1.Text = 0
Text2.Text = 0
End Sub
Private Sub Text1_Change()
'on retire les chaînes vides
If Text1.Text = vbNullString Then
Text1.Text = 0
Text1.SelStart = 0
Text1.SelLength = 1
End If
'on attend qu'un nombre soit saisit
If Not IsNumeric(Text1.Text) Then
Text2.Text = 0
Exit Sub
End If
' facon 'traditionnelle'
If Combo1.Text = "Euros vers Francs" Then
Text2.Text = Text1.Text * 6.55957
Else 'pas 36 solutions...
Text2.Text = Val(Text1) / 6.55957
End If
If Text1.Text 0 Or Text1.Text 1 Then ' If Text1.Text = 0 Or 1 Then Hérésie !!!!
Label2.Caption = "vaut"
Else
Label2.Caption = "valent"
End If
'alternative au lignes ci-dessus
' Text2.Text Text1.Text * IIf(Combo1.Text "Euros vers Francs", 1 / 6.55957, 6.55957)
' Label2.Caption IIf(Text1.Text 0 Or Text1.Text = 1, "vaut", "valent")
End Sub
Private Sub Text1_KeyPress(KeyAscii As Integer)
'transforme les points en virgules
If KeyAscii Asc(".") Then KeyAscii Asc(",")
'regarde si la touche pressée est un chiffre, une virgule, un retour arriere, ou une operation presse-papier
If 0 = InStr(1, "0,123456789" & Chr$(8) & Chr$(3) & Chr$(24) & Chr$(22), Chr$(KeyAscii), vbTextCompare) Then
KeyAscii = 0
End If
End Sub
29 mai 2003 à 22:36
format ( 5 , "0.00") donneras 5.00
29 mai 2003 à 20:57
moi aussi pour m'entrainer j'ai fait mon petit convertisseur
ya juste un truc chiant que je retrouve ici : comment fixer à 2décimales les zones de textes ?
ps: l'option currency ne marche visiblement pas chez moi
25 mai 2003 à 18:10
25 mai 2003 à 17:49
'Si la suite office est présente
'voici le moyen le plus simple !!
'qui s'appuie sur la dll msoeuro.dll
'qui se trouve dans :
'C:\Program Files\Fichiers communs\Microsoft Shared\Euro
'--------------------------------
Dim objEuro As Object
Set objEuro = CreateObject("MSOEURO.Converter")
Debug.Print FormatNumber(objEuro.Convert(450, "FRF", "EUR", 2), 2)
'pour les autres monaies taper FRF dans msdn
'@Plus
25 mai 2003 à 15:24
25 mai 2003 à 14:07
Pour ne mettre que des chiffres, tu fais comment?
25 mai 2003 à 13:27
ce que je disais, au sujet de la remise a 0 , c'est que dans ton code , tu vides les textboxes , au lieu de mettre effectivement 0 !!! mais ceci se compense avec les conditions ajoutées dans l'evenement Change.
enfin, ton code est simple, mais comporte des erreurs !!!!!
notamment le .text = 0 or 1 , qui n'est que pure hérésie !
ou encore la possibilité qui existait de saisir autre chose que des nombres.......
25 mai 2003 à 13:23
Pour mon code, je trouve que c'est le plus simple...
Je ne dis pas le plus beau, mais LE PLUS SIMPLE !
C'est bien l'essentiel quand tu veux aider qqun, non?
Sinon pour le changement des points en virgule, je ne l'ai pas fais car chez moi ca marche aussi avec les points...
Par contre, c'est vrai que ca:
Private Sub Combo1_Click()
If Combo1.Text = "Euros vers Francs" Then
Label1.Caption = "Euros"
Label3.Caption = "Francs"
Else
Label1.Caption = "Francs"
Label3.Caption = "Euros"
End If
End Sub
J'aurais pu, et j'aurais DU y penser !
Pour la remise à zéro, je ne comprend pas trop ce que tu dis...
Remttre le texte a 0 est ce qu'il y a de plus simple et de plus rapide, non?
Encore une chose, ca je ne connaissais pas et ca m'interesse :
'on retire les chaînes vides
If Text1.Text = vbNullString Then
Text1.Text = 0
Text1.SelStart = 0
Text1.SelLength = 1
End If
'on attend qu'un nombre soit saisit
If Not IsNumeric(Text1.Text) Then
Text2.Text = 0
Exit Sub
End If
Merci pour ca Renfield !
25 mai 2003 à 13:05
quant a ton "Then: Else:" , il te suffisait d'enlever le "Not" !!!!! alors, fait simple, si tu me trouve complexe...
25 mai 2003 à 12:53
Private Sub Text1_Change()
If Not IsNumeric(Text1) Then: Else: Text2.Text = Text1 * 6.55957
End Sub
Private Sub Text2_Change()
If Not IsNumeric(Text2) Then: Else: Text1.Text = Text2 / 6.55957
End Sub
25 mai 2003 à 12:51
non , je voulais juste dire que plein de choses me derangent dans ton programme...
voici ma version corrigée, fais en ce que tu veux......
Private Sub Combo1_Click()
If Combo1.Text = "Euros vers Francs" Then
Label1.Caption = "Euros"
Label3.Caption = "Francs"
Else
Label1.Caption = "Francs"
Label3.Caption = "Euros"
End If
End Sub
Private Sub Command1_Click()
End
End Sub
Private Sub Command2_Click()
'si on remet a 0 , on remet pas des chaînes vides !! on remet a 0
Text1.Text = 0
Text2.Text = 0
End Sub
Private Sub Text1_Change()
'on retire les chaînes vides
If Text1.Text = vbNullString Then
Text1.Text = 0
Text1.SelStart = 0
Text1.SelLength = 1
End If
'on attend qu'un nombre soit saisit
If Not IsNumeric(Text1.Text) Then
Text2.Text = 0
Exit Sub
End If
' facon 'traditionnelle'
If Combo1.Text = "Euros vers Francs" Then
Text2.Text = Text1.Text * 6.55957
Else 'pas 36 solutions...
Text2.Text = Val(Text1) / 6.55957
End If
If Text1.Text 0 Or Text1.Text 1 Then ' If Text1.Text = 0 Or 1 Then Hérésie !!!!
Label2.Caption = "vaut"
Else
Label2.Caption = "valent"
End If
'alternative au lignes ci-dessus
' Text2.Text Text1.Text * IIf(Combo1.Text "Euros vers Francs", 1 / 6.55957, 6.55957)
' Label2.Caption IIf(Text1.Text 0 Or Text1.Text = 1, "vaut", "valent")
End Sub
Private Sub Text1_KeyPress(KeyAscii As Integer)
'transforme les points en virgules
If KeyAscii Asc(".") Then KeyAscii Asc(",")
'regarde si la touche pressée est un chiffre, une virgule, un retour arriere, ou une operation presse-papier
If 0 = InStr(1, "0,123456789" & Chr$(8) & Chr$(3) & Chr$(24) & Chr$(22), Chr$(KeyAscii), vbTextCompare) Then
KeyAscii = 0
End If
End Sub