CONVERTISSEUR EUROS/FRANCS

Renfield Messages postés 17287 Date d'inscription mercredi 2 janvier 2002 Statut Modérateur Dernière intervention 27 septembre 2021 - 25 mai 2003 à 12:51
Renfield Messages postés 17287 Date d'inscription mercredi 2 janvier 2002 Statut Modérateur Dernière intervention 27 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.

https://codes-sources.commentcamarche.net/source/7223-convertisseur-euros-francs

Renfield Messages postés 17287 Date d'inscription mercredi 2 janvier 2002 Statut Modérateur Dernière intervention 27 septembre 2021 74
29 mai 2003 à 22:36
utilises un format :

format ( 5 , "0.00") donneras 5.00
zoneoz Messages postés 6 Date d'inscription mercredi 30 avril 2003 Statut Membre Dernière intervention 25 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és 17287 Date d'inscription mercredi 2 janvier 2002 Statut Modérateur Dernière intervention 27 septembre 2021 74
25 mai 2003 à 18:10
voila une tip interessante !
VicoLaChips2 Messages postés 436 Date d'inscription dimanche 20 janvier 2002 Statut Membre Dernière intervention 2 février 2010 2
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és 17287 Date d'inscription mercredi 2 janvier 2002 Statut Modérateur Dernière intervention 27 septembre 2021 74
25 mai 2003 à 15:24
regardes la procedure KeyPress......
z980x Messages postés 897 Date d'inscription jeudi 6 juin 2002 Statut Membre Dernière intervention 26 juillet 2007 2
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és 17287 Date d'inscription mercredi 2 janvier 2002 Statut Modérateur Dernière intervention 27 septembre 2021 74
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és 897 Date d'inscription jeudi 6 juin 2002 Statut Membre Dernière intervention 26 juillet 2007 2
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és 17287 Date d'inscription mercredi 2 janvier 2002 Statut Modérateur Dernière intervention 27 septembre 2021 74
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és 92 Date d'inscription lundi 14 avril 2003 Statut Membre Derniè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és 17287 Date d'inscription mercredi 2 janvier 2002 Statut Modérateur Dernière intervention 27 septembre 2021 74
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
Rejoignez-nous