Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Remplacer le point / virgule du * pavé numérique * par un point / point (access XP 2002)

2 réponses
Avatar
Blaise Cacramp
Bonjour ou bonsoir, selon.

J'ai vu quelques vieilles discussions dans ce forum qui ne me conviennent
pas :

J'ai besoin, dans une zone de texte qui doit accueillir des chiffres,
lettres et signes, que le point / virgule (séparateur décimal à virgule)
devienne un point ET que la "vraie" virgule reste une virgule. Il n'est
donc pas question d'un remplacement de la virgule par un point dans le texte
tapé.

J'ai réfléchi et voici une solution, toute bête, qui fonctionne !.

Private Sub Cmp_Code_KeyUp(KeyCode As Integer, Shift As Integer)
If KeyCode = vbKeyDecimal Then
SendKeys "{BACKSPACE}"
SendKeys "."
End If
End Sub


Cdt, Blaise
---- ---- ----

2 réponses

Avatar
Goupil
Bonjour,

Ta procédure parrait un peut lourde surtout avec les instructions SENKEYS.
Peut-être ceci serait plus élégant:

Public Function zz(a As String) As String
zz = a
If InStr(a, ",") > 0 Then zz = Left(a, InStr(a, ",") - 1) + "." + Mid$(a,
InStr(a, ",") + 1)
End Function


Goup'


"Blaise Cacramp" a écrit dans le message de news:

Bonjour ou bonsoir, selon.

J'ai vu quelques vieilles discussions dans ce forum qui ne me conviennent
pas :

J'ai besoin, dans une zone de texte qui doit accueillir des chiffres,
lettres et signes, que le point / virgule (séparateur décimal à virgule)
devienne un point ET que la "vraie" virgule reste une virgule. Il n'est
donc pas question d'un remplacement de la virgule par un point dans le
texte tapé.

J'ai réfléchi et voici une solution, toute bête, qui fonctionne !.

Private Sub Cmp_Code_KeyUp(KeyCode As Integer, Shift As Integer)
If KeyCode = vbKeyDecimal Then
SendKeys "{BACKSPACE}"
SendKeys "."
End If
End Sub


Cdt, Blaise
---- ---- ----




Avatar
Blaise Cacramp
Bonjour ou bonsoir, selon.

Et bien non, Goupil (qui est le nom originel de ce qu'on appelle maintenant
un renard), c'est très rapide et léger et ta solution, comme mentionnée plus
bas ne me convient pas : je veux conserver la possibilité d'avoir une
virgule.


Cordialement, Blaise
---- ---- ----


"Goupil" a écrit dans le message de news:
490005b0$0$965$
Bonjour,

Ta procédure parrait un peut lourde surtout avec les instructions SENKEYS.
Peut-être ceci serait plus élégant:

Public Function zz(a As String) As String
zz = a
If InStr(a, ",") > 0 Then zz = Left(a, InStr(a, ",") - 1) + "." + Mid$(a,
InStr(a, ",") + 1)
End Function


Goup'


"Blaise Cacramp" a écrit dans le message de news:

Bonjour ou bonsoir, selon.

J'ai vu quelques vieilles discussions dans ce forum qui ne me conviennent
pas :

J'ai besoin, dans une zone de texte qui doit accueillir des chiffres,
lettres et signes, que le point / virgule (séparateur décimal à virgule)
devienne un point ET que la "vraie" virgule reste une virgule. Il n'est
donc pas question d'un remplacement de la virgule par un point dans le
texte tapé.

J'ai réfléchi et voici une solution, toute bête, qui fonctionne !.

Private Sub Cmp_Code_KeyUp(KeyCode As Integer, Shift As Integer)
If KeyCode = vbKeyDecimal Then
SendKeys "{BACKSPACE}"
SendKeys "."
End If
End Sub


Cdt, Blaise
---- ---- ----