REMPLACEMENT DU POINT PAR UNE VIRGULE LORS DE LA SAISIE DANS UN DATAGRIDVIEW

Signaler
Messages postés
687
Date d'inscription
lundi 10 janvier 2005
Statut
Membre
Dernière intervention
27 août 2014
-
Messages postés
2
Date d'inscription
lundi 19 janvier 2004
Statut
Membre
Dernière intervention
19 avril 2007
-
Cette discussion concerne un article du site. Pour la consulter dans son contexte d'origine, cliquez sur le lien ci-dessous.

https://codes-sources.commentcamarche.net/source/39719-remplacement-du-point-par-une-virgule-lors-de-la-saisie-dans-un-datagridview

Messages postés
2
Date d'inscription
lundi 19 janvier 2004
Statut
Membre
Dernière intervention
19 avril 2007

Tout simplement merci car cela va grandement me servir !
Messages postés
192
Date d'inscription
dimanche 5 janvier 2003
Statut
Membre
Dernière intervention
9 mars 2007
1
Bonjour,

Merci pour le bout de code qui peut être fort utile. Par contre, ici le but est de ne surtout pas changer de culture (le séparateur de décimal est toujours la visgule pour la France), mais juste de pouvoir utiliser le pavé numérique pour saisir des nombres avec des virgules.

TiK
Messages postés
11
Date d'inscription
lundi 14 février 2005
Statut
Membre
Dernière intervention
16 juillet 2008

Il y un dejà post ou l'on change la culture de l'appli.
Voici le bout de code

'On récupère le séparateur qui est utilisé sur la station de travail
Dim oldDecimalSeparator As String = Application.CurrentCulture.NumberFormat.NumberDecimalSeparator

'On compare le séparateur instancié avec le point
If oldDecimalSeparator = "." Then
'Le séparateur instancié dans le panneau de configuration est le point : "."
Else
'Le séparateur instancié dans le panneau de configuration est la virgule : ","
Dim forceDotCulture As CultureInfo

'Code un peu louche il faut avouer, mais il faut faire avec car le framework pose problème
'ici; en effet, il faut cloner la culture pour pouvoir modifier les paramètres de l'application
'car sinon la culture de base est en lecture seule.
forceDotCulture = Application.CurrentCulture.Clone()

'On affecte le point : "." comme paramètre de séparateur décimal
forceDotCulture.NumberFormat.NumberDecimalSeparator = "."

'Là, on affecte l'application cloné à celle où l'on travaille
'C'est un passage flou car en fait, l'appli est en mode readonly et l'on ne peut pas
'la modifier directement, d'où cette affectation
Application.CurrentCulture = forceDotCulture

End If

C'est peut etre une solution bizarre mais ça marche.
Tu fais ça au demarrage et c'est bon (Il y a que la culture de l'appli qui change)
Messages postés
215
Date d'inscription
jeudi 24 octobre 2002
Statut
Membre
Dernière intervention
7 septembre 2007
1
ça me semble un poil compliqué pour ce que ça fait mais c'est ultra propre nonobstant
Messages postés
687
Date d'inscription
lundi 10 janvier 2005
Statut
Membre
Dernière intervention
27 août 2014
3
pa mauvais ce petit bout de code
Bon fo etre honnete je sais pas sil servira souvent, mais on peut peut etre se baser dessus pour en faire des variantes
8/10 quoique allez je mets mm 9