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

romagny13 Messages postés 687 Date d'inscription lundi 10 janvier 2005 Statut Membre Dernière intervention 27 août 2014 - 16 oct. 2006 à 00:54
cs_samscapa Messages postés 2 Date d'inscription lundi 19 janvier 2004 Statut Membre Dernière intervention 19 avril 2007 - 19 avril 2007 à 16:25
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

cs_samscapa Messages postés 2 Date d'inscription lundi 19 janvier 2004 Statut Membre Dernière intervention 19 avril 2007
19 avril 2007 à 16:25
Tout simplement merci car cela va grandement me servir !
tikrimi Messages postés 192 Date d'inscription dimanche 5 janvier 2003 Statut Membre Dernière intervention 9 mars 2007 1
19 déc. 2006 à 10:03
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
Seb_cba Messages postés 11 Date d'inscription lundi 14 février 2005 Statut Membre Dernière intervention 16 juillet 2008
7 déc. 2006 à 18:38
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)
cs_Benouille Messages postés 215 Date d'inscription jeudi 24 octobre 2002 Statut Membre Dernière intervention 7 septembre 2007
20 oct. 2006 à 17:44
ça me semble un poil compliqué pour ce que ça fait mais c'est ultra propre nonobstant
romagny13 Messages postés 687 Date d'inscription lundi 10 janvier 2005 Statut Membre Dernière intervention 27 août 2014 3
16 oct. 2006 à 00:54
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
Rejoignez-nous