Comment changer de façon automatique le point du clavier numerique par la virgul [Résolu]

Signaler
Messages postés
14
Date d'inscription
lundi 29 juillet 2002
Statut
Membre
Dernière intervention
26 août 2005
-
Messages postés
2082
Date d'inscription
jeudi 16 septembre 2004
Statut
Membre
Dernière intervention
7 septembre 2020
-
Bonjour,

J'aimerais via une box (Active)
Qu'a chaque fois que j'appuie sur le point du clavier numerique,que se soit un point a la place qui apparaisse.
Est-ce possible ?
Merci d'avance

Il n'y a pas que Counter Strike Dans la vie...
Il y a aussi BroodWar !

12 réponses

Messages postés
2082
Date d'inscription
jeudi 16 septembre 2004
Statut
Membre
Dernière intervention
7 septembre 2020
1
Trouvé : tu met un timer avec l'interval à 1 et ça dedans :



Private Sub Timer1_Timer()

If GetAsyncKeyState(vbKeyDecimal) = -32767 Then

SendKeys "{BACKSPACE}," 'efface le point et met une virgule

End If

End Sub

Flachy Joe
3
Merci

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources 108 internautes nous ont dit merci ce mois-ci

Messages postés
3140
Date d'inscription
vendredi 14 mai 2004
Statut
Membre
Dernière intervention
11 mars 2019
26
le plus simple:



Private Sub Text1_KeyPress(KeyAscii As Integer)

If KeyAscii Asc(".") Then KeyAscii Asc(",")

End Sub


Daniel
Messages postés
19
Date d'inscription
vendredi 24 octobre 2003
Statut
Membre
Dernière intervention
9 avril 2006

Un code simple

'Code simple pour un textBox e 2 boutons, pour changer et alterner point et virgule.

'Código para alternar ponto e virgula; 2 Bt + Txt.

Private Sub Command1_Click()



Text1.Text = Replace(Text1.Text, ",", ".")

End Sub



Private Sub Command2_Click()

Text1.Text = Replace(Text1.Text, ".", ",")

End Sub



Private Sub Form_Load()

Text1.Text = "345,543"

End Sub
Messages postés
14
Date d'inscription
lundi 29 juillet 2002
Statut
Membre
Dernière intervention
26 août 2005

Merci pour vos debuts de réponses, mais ma demande n'est pas exactement comme ça.
C'est un peu plus compliqué (suffisament pour que je n'y arrive pas :o/ )
L'objectif est de faire un point exe (prog)
Quand le prog est lancé le point du clavier numerique devient une virgule,
une fois le prog fermé le clavier agit normalement.
Il doit pouvoir fonctionner sur une application intranet / Excel / Lotus Notes etc...

Bref il faut que toutes les applications prennent en compte que le point => une virgule.
Pas uniquement dans une fenetre de texte (via VB)

En tout cas merci d'essayer de m'aider car la depuis ce matin je galere...
Salm

Il n'y a pas que Counter Strike Dans la vie...
Il y a aussi BroodWar !
Messages postés
19
Date d'inscription
vendredi 24 octobre 2003
Statut
Membre
Dernière intervention
9 avril 2006

Il faut changer la norme du clavier lorsque l'on execute le programme en question.

les claviers sont différents suivant les langues.

Je ne connais pas les codes pour les diférents claviers, mais le
clavier en-US doit résoudre le problème; mon clavier par exemple
est ABNT ....( je sais qu'íl y a 2 types disponibles ou plus ?) pt-BR
et il a des accents propre a la langue, dans certains cas j'ai besoin
d'utiliser l'insertion de caractères spéciaux pour certains textes; les
touches sont également a des endroits différents et souvent je dois
employer 2 touches pour une lettre avec accent.

Sur les claviers en es, certains en pt par exemple et sur le mien il
n'y a pas de touche pour ç; je dois taper ' et ensuite c pour
obtenir ç.

Probablement vous n'avez pas de touches qui vous permet d'écrire par exemple:

Informação, situação, cálculo, código, seqûencia, etc.....
Messages postés
14
Date d'inscription
lundi 29 juillet 2002
Statut
Membre
Dernière intervention
26 août 2005

Ma si :)
ñioã
Le probleme du changement de norme (clavier)
c'est que si tu passes en US, tu te retrouves avec un Q a la place du A
et ton Informação devient => Infor:qç~qo (deja plus chaud a comprendre)

Il n'y a pas que Counter Strike Dans la vie...
Il y a aussi BroodWar !
Messages postés
144
Date d'inscription
lundi 23 décembre 2002
Statut
Membre
Dernière intervention
17 juin 2006

pour changer la valeur du séparateur décimal comme paramètre régional, ça doit pouvoir se faire en faisant la modif dans la base de registre :
[HKEY_CURRENT_USER\Control Panel\International] "sDecimal"=","

Mais bon, je suis pas sur que ça t'aide

-- stabe --
Messages postés
14
Date d'inscription
lundi 29 juillet 2002
Statut
Membre
Dernière intervention
26 août 2005

Nan mais c'est sympa quand meme

Il n'y a pas que Counter Strike Dans la vie...
Il y a aussi BroodWar !
Messages postés
19
Date d'inscription
vendredi 24 octobre 2003
Statut
Membre
Dernière intervention
9 avril 2006

Il faut jouer avec le code clavier ASCII

Ci dessous un lien avec les codes pour le point, la virgule et tous les autres.

http://www.abcdatos.com/utiles/ascii.html
Messages postés
2082
Date d'inscription
jeudi 16 septembre 2004
Statut
Membre
Dernière intervention
7 septembre 2020
1
Salut,

je dirai qu'il faut intercepter tous les evenements claviers et s'il
s'agit de l'envoi du point, le suprimmer et envoyer un evenement "envoi
d'une virgule". Pour intercepter les evenements je crois qu'il y a pas
mal de code : recherche "keylogger".

Flachy Joe
Messages postés
14
Date d'inscription
lundi 29 juillet 2002
Statut
Membre
Dernière intervention
26 août 2005

Yeahhhh Merci !!

Il n'y a pas que Counter Strike Dans la vie...
Il y a aussi BroodWar !
Messages postés
2082
Date d'inscription
jeudi 16 septembre 2004
Statut
Membre
Dernière intervention
7 septembre 2020
1
Encore un truc auquel j'ai pensé depuis tout à l'heure, tu pourais
trouver un système pour que ça ne change le . en , que si un chiffre a
été tapé avant, comme ça tu peut continuer à utiliser le point
numérique dans les URL, par exemple. Et ce n'est pas trop contraignant
pour les nombres tu tape pas souvent .5 à la place de 0.5, si ?

Si tu trouve la solution, envois la moi (flachyjoe @ hotmail.com).

Flachy Joe