CODE QUI PERMET DE REMPLACER LE POINT DU PAVE NUMERIQUE PAR UNE VIRGULE
cs_BFR
Messages postés88Date d'inscriptionmardi 30 juillet 2002StatutMembreDernière intervention 1 mars 2008
-
22 juil. 2003 à 14:50
cs_labk92
Messages postés12Date d'inscriptiondimanche 16 mars 2003StatutMembreDernière intervention29 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.
cs_labk92
Messages postés12Date d'inscriptiondimanche 16 mars 2003StatutMembreDernière intervention29 juillet 2010 31 mars 2005 à 16:43
ou sinon en une ligne
Text1.Text = Replace(Text1.Text, ".", ",")
cs_christoni
Messages postés140Date d'inscriptionmardi 25 novembre 2003StatutMembreDernière intervention 1 novembre 20107 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és897Date d'inscriptionjeudi 6 juin 2002StatutMembreDernière intervention26 juillet 20072 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és2336Date d'inscriptionsamedi 14 juillet 2001StatutMembreDernière intervention 5 mai 20096 28 déc. 2003 à 04:29
pas tout a fait asc(".") et asc(",")
z980x
Messages postés897Date d'inscriptionjeudi 6 juin 2002StatutMembreDernière intervention26 juillet 20072 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és89Date d'inscriptionlundi 3 mars 2003StatutMembreDernière intervention28 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és2336Date d'inscriptionsamedi 14 juillet 2001StatutMembreDernière intervention 5 mai 20096 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és9Date d'inscriptionmardi 17 juin 2003StatutMembreDernière intervention29 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és2336Date d'inscriptionsamedi 14 juillet 2001StatutMembreDernière intervention 5 mai 20096 22 juil. 2003 à 19:10
maudite bonne question, j,aurais mis ça dans truc et astuce
jannoman
Messages postés256Date d'inscriptionjeudi 17 avril 2003StatutMembreDernière intervention20 février 20081 22 juil. 2003 à 18:53
Et pourquoi c'est dans la catégorie API ?
cs_dragon
Messages postés2336Date d'inscriptionsamedi 14 juillet 2001StatutMembreDernière intervention 5 mai 20096 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és62Date d'inscriptiondimanche 16 septembre 2001StatutMembreDernière intervention21 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és62Date d'inscriptiondimanche 16 septembre 2001StatutMembreDernière intervention21 septembre 2006 22 juil. 2003 à 16:53
ça c'est que je j'appelle du encore plus rapide :o)
cs_dragon
Messages postés2336Date d'inscriptionsamedi 14 juillet 2001StatutMembreDernière intervention 5 mai 20096 22 juil. 2003 à 16:50
oups désoler, pensais que ça avait planté
cs_dragon
Messages postés2336Date d'inscriptionsamedi 14 juillet 2001StatutMembreDernière intervention 5 mai 20096 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és62Date d'inscriptiondimanche 16 septembre 2001StatutMembreDernière intervention21 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és88Date d'inscriptionmardi 30 juillet 2002StatutMembreDerniè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++
31 mars 2005 à 16:43
Text1.Text = Replace(Text1.Text, ".", ",")
11 juin 2004 à 02:04
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
28 déc. 2003 à 12:22
28 déc. 2003 à 04:29
28 déc. 2003 à 03:14
Merci !
30 juil. 2003 à 10:10
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
23 juil. 2003 à 15:10
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
23 juil. 2003 à 14:42
elle peu servir a autre choses
comme avec un input box ou .....................
22 juil. 2003 à 19:10
22 juil. 2003 à 18:53
22 juil. 2003 à 17:29
22 juil. 2003 à 16:54
ça c'est ce que j'appelle du encore plus rapide lool
@+ bonne prog
22 juil. 2003 à 16:53
22 juil. 2003 à 16:50
22 juil. 2003 à 16:49
Private Sub Text1_KeyPress(KeyAscii As Integer)
If KeyAscii = 46 Then
KeyAscii = 44
End If
End Sub
22 juil. 2003 à 16:33
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
22 juil. 2003 à 14:50
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++