Saisie du séparateur décimal virgule sur le pavé numérique

Exclusion de responsabilité du contenu obsolète de la base de connaissances

Cet article a été rédigé sur les produits pour lesquels Microsoft n’offre plus aucune prise en charge. Par conséquent, cet article est proposé « en l’état » et ne sera plus mis à jour.

Symptômes


Quand je saisis des données numériques dans un formulaire de Microsoft
Access je constate que le symbole . (point) du pavé numérique ne me
permet pas d'entrer des nombres décimaux. Or Microsoft Excel 5.0 permet
d'entrer des nombres décimaux dans mes feuilles de calcul avec le point
du pavé numérique. Pourquoi ?


Résolution


Au niveau du Panneau de configuration de Windows, vous avez choisi la
virgule comme séparateur décimal. Le point du pavé numérique est donc
reconnu par Access comme un point (et non une virgule), c'est pourquoi il
ne permet pas de saisir le séparateur décimal. Microsoft Excel 5 est le
premier logiciel Microsoft capable d'interpréter le point du pavé
numérique en fonction du séparateur décimal choisi dans le Panneau de
configuration de Windows.

Avec Microsoft Access 2.0, vous disposez des mêmes solutions que les
utilisateurs d'Excel 4.0 (ou des versions antérieures d'Excel) pour
saisir des nombres décimaux avec le pavé numérique. En outre il existe
une solution propre à Access :

SOLUTION 1 :

Avant d'effectuer une saisie de valeurs numériques, lancez le Panneau de
Configuration de Windows, choisissez le point comme séparateur décimal,
basculez vers Access et effectuez la saisie. Après la saisie vous pouvez
remodifier le séparateur décimal dans le Panneau de Configuration de
Windows.


SOLUTION 2 :

Procurez vous un gestionnaire de clavier pour Windows qui entre
systématiquement une virgule quand on frappe le point du pavé numérique.
Ce gestionnaire de clavier figure par exemple sur la disquette
d'accompagnement du livre Les Recettes d'Excel version 4.0 pour Windows.
Ce livre décrit en page 129 comment installer le gestionnaire
KBDCOMMA.DRV sur Microsoft Windows (version 3.0, 3.1 ou 3.11) ou
Microsoft Windows pour Workgroups (version 3.1 ou 3.11).
Attention KBDCOMMA.DRV n'est pas prévu pour Windows NT ni pour Windows 95
en outre KBDCOMMA.DRV n'est pas fourni avec le livre Les Recettes d'Excel
version 5.0 (ni avec les Recettes d'Excel version 4.0 pour le Macintosh).


SOLUTION 3 :

Pour chaque contrôle Texte dans lequel vous effectuez une saisie,
associez à la propriété "Sur touche activée" de ce contrôle une procédure
événementielle qui contienne le code Access Basic suivant :

Const VG = 44
Const PT = 46
If keyascii = VG Or keyascii = PT Then keyascii =Asc(Mid$(CStr(1.2),2,1))

Notez que cette méthode vous permet d'effectuer des saisies de décimales
avec un point ou une virgule, mais qu'elle interdit l'utilisation d'un
masque de saisie.

EXEMPLE :

1. Ouvrez le fichier livré en exemple avec Access dans le répertoire
C:\ACCESS\EXEMPLES\COMPTOIR.MDB
2. Ouvrez le formulaire "Produits" en mode "Modification".
3. Avec le bouton droit de la souris, cliquez sur le contrôle "Prix
Unitaire".
4. Choisissez la commande Propriétés.
5. Avec le bouton droit de la souris, cliquez sur la ligne "Sur touche
activée".
6. Choisissez la commande Générer.
7. Choisissez Générateur de code.
8. Créez le code Access Basic suivant :

Sub Prix_unitaire_KeyPress (keyascii As Integer)
Const VG = 44
Const PT = 46
If keyascii = VG Or keyascii = PT Then keyascii =Asc(Mid$(CStr(1.2),2,1))
End Sub

Propriétés

ID d'article : 464060 - Dernière mise à jour : 5 sept. 1995 - Révision : 1

Commentaires