MagicBuzz | drasche a écrit :
Ton problème est que VB ne comprend que les expressions du genre "3.14" et non "3,14". Si tu essayes de taper l'expression string "3.14" dans une variable de type Double, ça marchera. Mais "3,14" générera une erreur. Quand le cas se présente, il y a une manière courte de procéder:
Code :
- variable = CDbl(Replace("3,14", ",", "." ))
|
Dans mon boulot, je reçois jamais de nombre avec séparateur de milliers, et si tu en reçois, il faudra procéder de la même manière, mais pour les éliminer (donc remplacer par chaîne vide).
|
Bah nan, le problème justement, c'est que si c'est du VBA (et non VB) le séparateur reconnu lors de l'interprétation des chaînes est dépendant des paramètres de l'utilisateur.
Autrement dis, si tu t'amuse à mettre "@" comme sépartateur de décimale dans tes paramètres régionnaux, ben ton VBA, il n'acceptera que "3@14", et non "3,14" ni "3.14" (par contre, il acceptera 3.14
Du coup ma fonction me semble la plus correcte, puisqu'elle permet de s'en sortir à coup sûr dans 100% des cas, même si l'utilisateur est un débile profonds qui utilise n'importe quoi. |