Bonsoir ... j'espère que tout le monde n'est pas en vacances


J'exécute une application VBNet dans laquelle je teste si un champ est numérique ou non.

Si je teste de cette manière ( IsNumeric ne semble pas convenir ):
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
Dim Value As Double
Text = "0,a"
If Double.TryParse(Text, Value) Then
  message "pas de valeur numérique"
End if
'
Text = "0,6"
If Double.TryParse(Text, Value) Then
  message "valeur numérique"
End if
'
Text = "0,a"
If Double.TryParse(Text, Value) Then
  message "pas de valeur numérique"
End if
'
Text = ",6"
If Double.TryParse(Text, Value) Then
  message "valeur numérique"
End if
'

Ceci tend à prouver que je me retrouve dans un environnement où c'est la virgule qui commence la partie décimale.
Déjà je ne sais pas comment tester cela, et de quoi cela dépend il ? D'un switch quelque part, de ma localisation vue par Windows,
est il toujours le même pour toutes les applications que j'utilise sur mon ordinateur ? Excel, VBNet, ....

Maintenant comment tester si un champ que je recevrais de l'extérieur ( donc cela ne dépend pas de moi ) est numérique mais qui aurait le point comme séparateur?
Le test ne fonctionne plus et donne

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
'
Text = "1.6"
If Double.TryParse(Text, Value) Then
  message "valeur non numérique"
End if
'

Je dois utiliser ceci ( dont je ne comprends pas encore toute la syntaxe ) ( mais je vais m'y mettre )

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
'
Dim Text As String = "15.6"
If Double.TryParse(Text, Globalization.NumberStyles.AllowDecimalPoint, CultureInfo.InvariantCulture, Value) Then
   message "valeur numérique"
Else
   message "valeur non numérique"
End If
Comment faire un seul test pour voir si un champ est numérique avec "," ou avec "." ?
Ou dois je faire deux tests successifs?

Merci de vos pistes.

Pierre