REMPLACEMENT DU POINT PAR UNE VIRGULE LORS DE LA SAISIE DANS UN DATAGRIDVIEW
romagny13
Messages postés687Date d'inscriptionlundi 10 janvier 2005StatutMembreDernière intervention27 août 2014
-
16 oct. 2006 à 00:54
cs_samscapa
Messages postés2Date d'inscriptionlundi 19 janvier 2004StatutMembreDernière intervention19 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.
cs_samscapa
Messages postés2Date d'inscriptionlundi 19 janvier 2004StatutMembreDernière intervention19 avril 2007 19 avril 2007 à 16:25
Tout simplement merci car cela va grandement me servir !
tikrimi
Messages postés192Date d'inscriptiondimanche 5 janvier 2003StatutMembreDernière intervention 9 mars 20071 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és11Date d'inscriptionlundi 14 février 2005StatutMembreDernière intervention16 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és215Date d'inscriptionjeudi 24 octobre 2002StatutMembreDerniè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és687Date d'inscriptionlundi 10 janvier 2005StatutMembreDernière intervention27 août 20143 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
19 avril 2007 à 16:25
19 déc. 2006 à 10:03
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
7 déc. 2006 à 18:38
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)
20 oct. 2006 à 17:44
16 oct. 2006 à 00:54
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