[]
Nombre de membres 1 membre
Connectés : ( personne )
 

La Charte du Forum - La Charte du Forum

Forum - Forum
Problèmes Access des débutants - Problèmes Access des débutants


clos par 3Stone le 05/10/2010 : 23:42  Sujet n° 393  Changer la valeur d'une touche du clavier . pour ,

le 01/08/2010 : 09:48
par possible924

Anonyme

visiteur

Bonjour à tous,
Dans Access (comme dans Excel) appuyer sur la touche "." du pavé numérique envoie ",".
Est'il possible, d'exécuter au démarrage d'une application, un code
qui modifie le résultat de l'action sur la touche point du pavé numérique
pour obtenir un point.
Et quel code ?
Merci par avance pour votre aide
 sujet clos  Haut

[]   

Réponse n° 1
--------
le 01/08/2010 : 22:26
par marsouin_89

Anonyme

visiteur

Bonjour,

Essaie ce code "sur touche appuyé" de ton controle :

Private Sub MaZoneTexte_KeyDown(KeyCode as Integer, Shift as Integer)

Select Case KeyCode

Case 190,110'190 : point du clavier, 110 : point du pavé numérique

KeyCode=188

End Select

Ainsi, le point sera remplacé par une virgule.

Cordialement

Christophe

Ecrire à marsouin_89   clos par 3Stone le 05/10/2010 : 23:42  Haut
Réponse n° 2
--------
le 02/08/2010 : 10:56
par possible924

Anonyme

visiteur

Merci pour ta réponse.
Avec KeyCode = 188, j'obtiens toujours ","
Avec KeyCode = 90, j'obtiens "z"

Je n'arrive pas à trouver le bon code pour obtenir "."
A+

  clos par 3Stone le 05/10/2010 : 23:42  Haut
Réponse n° 3
--------
le 02/08/2010 : 13:20
par 3Stone

Anonyme

Administrateur

Bonjour,

 
Citation : possible924

Dans Access (comme dans Excel) appuyer sur la touche "." du pavé numérique envoie ","

 
Non, cela renvoie le séparateur décimal défini dans les paramètres régionaux...
Et on ne touche pas à ces derniers, car ils appartiennent à l'utilisateur.

Mais, si tu as un champ qui ne doit pas accepter la virgule, mais uniquement le point, je te propose de placer sur "après mise à jour" de la zone de texte:

 
Code :
ChampX = Replace(ChampX, "," , ".")
 
Cordialement,
Pierre(3stone)
  clos par 3Stone le 05/10/2010 : 23:42  Haut
Réponse n° 4
--------
le 02/08/2010 : 13:41
par possible924

Anonyme

visiteur
Merci pour la réponse.
Cette solution ne convient pas, car le champ peut contenir un commentaire qui peut être assez long, avec ponctuation donc points et virgules.
En fait je souhaiterais que dans toute mon application, l'action sur le point du clavier numérique renvie un point, comme dans Word, mais ce n'est peut être pas possible.
Bien cordialement
Pierre
  clos par 3Stone le 05/10/2010 : 23:42  Haut
Réponse n° 5
--------
le 02/08/2010 : 16:04
par 3Stone

Anonyme

Administrateur

Salut,

Pour avoir quelque chose qui fonctionne dans tous les cas, quelques soit le clavier et les paramètres régionaux, il faut alors un peu plus.

Disons que la zone de texte se nomme txtSaisie...

Tu places alors le code suivant "sur touche appuyée" de cette zone:

 
Code :
Private Sub txtSaisie_KeyDown(KeyCode As Integer, Shift As Integer)
If KeyCode = vbKeyDecimal Then
txtSaisie.Value = txtSaisie.Text & ","
txtSaisie.SelStart = txtSaisie.SelLength
KeyCode = 0
End If
End Sub
 
en ayant placé l'apercu touche sur oui au niveau du formulaire, bien sûr.

Cordialement,
Pierre(3stone)
  clos par 3Stone le 05/10/2010 : 23:42  Haut
actif sujet actif   clos sujet clos   Important! Important!   Nouveau Nouveau message   -   Rectifier Rectifier message   Clôturer Clôturer sujet   Remonter Remonter
[]
Catégories de discussion  Forum 



Haut