CODE QUI PERMET DE REMPLACER LE POINT DU PAVE NUMERIQUE PAR UNE VIRGULE

cs_BFR Messages postés 88 Date d'inscription mardi 30 juillet 2002 Statut Membre Dernière intervention 1 mars 2008 - 22 juil. 2003 à 14:50
cs_labk92 Messages postés 12 Date d'inscription dimanche 16 mars 2003 Statut Membre Dernière intervention 29 juillet 2010 - 31 mars 2005 à 16:43
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/8008-code-qui-permet-de-remplacer-le-point-du-pave-numerique-par-une-virgule

cs_labk92 Messages postés 12 Date d'inscription dimanche 16 mars 2003 Statut Membre Dernière intervention 29 juillet 2010
31 mars 2005 à 16:43
ou sinon en une ligne

Text1.Text = Replace(Text1.Text, ".", ",")
cs_christoni Messages postés 140 Date d'inscription mardi 25 novembre 2003 Statut Membre Dernière intervention 1 novembre 2010 7
11 juin 2004 à 02:04
C'est excellent pour moi, j'ai pu résoudre ce pble de virgule.
Je voulait un inputbox arrondi d'altitude entre 500 et 1500ml
(pour calcul descente de charge : neige).
Apparemment ça marche en utilisant un bout de ton code :

Private Sub cmd1_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles cmd1.Click
Dim alTitude
tb1.Visible = False
line1:
alTitude = InputBox("Entrez une altitude" & Chr(10) & _
" Entre 500 ml et 1500 ml" _
, "ALTITUDE")
Try
Dim i As Integer
For i = 1 To Len(alTitude)
If Mid(alTitude, i, 1) = "." Then
Mid(alTitude, i, 1) = ","
End If
Next i
Merci, bonne route.
alTitude = CInt(alTitude + 0.4)
If alTitude < 500 Or alTitude > 1500 Then
GoTo line1
End If
Catch ex As Exception
GoTo line1
End Try
tb1.Text = alTitude
tb1.Visible = True
End Sub
End Class
z980x Messages postés 897 Date d'inscription jeudi 6 juin 2002 Statut Membre Dernière intervention 26 juillet 2007 2
28 déc. 2003 à 12:22
ah ouais... Dans ca cas la, mais je ne savais pas qu'on pouvait le faire....
cs_dragon Messages postés 2336 Date d'inscription samedi 14 juillet 2001 Statut Membre Dernière intervention 5 mai 2009 6
28 déc. 2003 à 04:29
pas tout a fait asc(".") et asc(",")
z980x Messages postés 897 Date d'inscription jeudi 6 juin 2002 Statut Membre Dernière intervention 26 juillet 2007 2
28 déc. 2003 à 03:14
ABL-Online, je trouve que ta solution est la meilleure car il est très simple de remplacer n'importe quel caractère... Alors qu'avec la méthode de dragon, il faut absolument connaitre le code ASCII de la touche...

Merci !
cs_Mauricet Messages postés 89 Date d'inscription lundi 3 mars 2003 Statut Membre Dernière intervention 28 juillet 2008
30 juil. 2003 à 10:10
Bonjour
Jamais se décourager
Je suggère
Option Explicit
Private Sub Text1_Click()
Text1.Text = RenvoiDecimal(Text1.Text)
End Sub

Private Sub Text1_Validate(Cancel As Boolean)
Text1.Text = RenvoiDecimal(Text1.Text)
End Sub
Function RenvoiDecimal(ChaineDepart As String) As String

'fonction qui permet de filtrer la chaine et de remplacer le point par une virgule a l'endroit exacte ou il se trouve
Dim i As Integer
Dim Nombre As String

On Error GoTo Erreur

For i = 1 To Len(ChaineDepart)
If Mid$(ChaineDepart, i, 1) "." Then Mid$(ChaineDepart, i, 1) ","
Next i

Nombre = Mid$(ChaineDepart, 1, i)
RenvoiDecimal = Nombre

Exit Function

'gestion d'erreur en cas de probleme
Erreur:
Nombre = ChaineDepart

End Function
cs_dragon Messages postés 2336 Date d'inscription samedi 14 juillet 2001 Statut Membre Dernière intervention 5 mai 2009 6
23 juil. 2003 à 15:10
sauf que c'est pas un API
tu utilises aucun dll, ni en crée, ni même d'ocx à la limite

prochaine fois, faudrias classser dans la bonne catégorie, puisque sinon le site va devenir le bordel chercher dequoi
kenavo27 Messages postés 9 Date d'inscription mardi 17 juin 2003 Statut Membre Dernière intervention 29 août 2003
23 juil. 2003 à 14:42
ouai merci pour ces commentaires mai bon
elle peu servir a autre choses
comme avec un input box ou .....................
cs_dragon Messages postés 2336 Date d'inscription samedi 14 juillet 2001 Statut Membre Dernière intervention 5 mai 2009 6
22 juil. 2003 à 19:10
maudite bonne question, j,aurais mis ça dans truc et astuce
jannoman Messages postés 256 Date d'inscription jeudi 17 avril 2003 Statut Membre Dernière intervention 20 février 2008 1
22 juil. 2003 à 18:53
Et pourquoi c'est dans la catégorie API ?
cs_dragon Messages postés 2336 Date d'inscription samedi 14 juillet 2001 Statut Membre Dernière intervention 5 mai 2009 6
22 juil. 2003 à 17:29
un problème par contre, si on fait un copier coller, faudrasi sur le lostfocus faire un replace(texte1.text,".",",")
ABL-Online Messages postés 62 Date d'inscription dimanche 16 septembre 2001 Statut Membre Dernière intervention 21 septembre 2006
22 juil. 2003 à 16:54
vais aller me coucher moi pffff je voulais donc dire :

ça c'est ce que j'appelle du encore plus rapide lool

@+ bonne prog
ABL-Online Messages postés 62 Date d'inscription dimanche 16 septembre 2001 Statut Membre Dernière intervention 21 septembre 2006
22 juil. 2003 à 16:53
ça c'est que je j'appelle du encore plus rapide :o)
cs_dragon Messages postés 2336 Date d'inscription samedi 14 juillet 2001 Statut Membre Dernière intervention 5 mai 2009 6
22 juil. 2003 à 16:50
oups désoler, pensais que ça avait planté
cs_dragon Messages postés 2336 Date d'inscription samedi 14 juillet 2001 Statut Membre Dernière intervention 5 mai 2009 6
22 juil. 2003 à 16:49
ou encore
Private Sub Text1_KeyPress(KeyAscii As Integer)
If KeyAscii = 46 Then
KeyAscii = 44
End If
End Sub
ABL-Online Messages postés 62 Date d'inscription dimanche 16 septembre 2001 Statut Membre Dernière intervention 21 septembre 2006
22 juil. 2003 à 16:33
Plus simple, plus rapide, et ce fait en temps réel lors de la frappe :

Private Sub Text1_KeyUp(KeyCode As Integer, Shift As Integer)
If KeyCode = vbKeyDecimal Then
Text1.Text = Replace(Text1.Text, ".", ",")
Text1.SelStart = Len(Text1.Text)
End If
End Sub
cs_BFR Messages postés 88 Date d'inscription mardi 30 juillet 2002 Statut Membre Dernière intervention 1 mars 2008
22 juil. 2003 à 14:50
Une autre façon

Private Sub Text1_Change()
'-Changer les points en virgules

If InStr(Text1, ".") Then
'-Remplacement
Text1 = Replace(Text1, ".", ",")
'-Repositionnement du curseur
Text1.SelStart = Len(Text1)
End If
End Sub
A++
Rejoignez-nous