Séparateur de millier ou décimales

yoyo80s Messages postés 47 Statut Membre -  
eriiic Messages postés 25847 Date d'inscription   Statut Contributeur Dernière intervention   -
Bonjour,

J'ai un souci avec une macro Excel qui importe des données du net avec un point comme séparateur de décimales.

J'utilise la fonction replace pour convertir ces décimales en virgules afin d'effectuer mes calculs.

Mon problème, et je n'ai pas trouvé exactement le même sur le forum, c'est que suivant si j'ai 2 chiffres après la virgule ou 3, le point est soit considéré comme un séparateur de décimales, soit comme un séparateur de milliers.

Voici un exemple:

Devient ceci.
42.63 42,63
34.485 34485,00
6.945 => 6945,00
105.63 105,63
8.526 8526,00

J'ai pu contourner le problème avec un si ...> 1000... mais j'aimerais connaître une solution plus propre au cas ou un jour j'aurais vraiment une valeur > 1000.

Merci
A voir également:

3 réponses

eriiic Messages postés 25847 Date d'inscription   Statut Contributeur Dernière intervention   7 282
 
Bonjour,

Dans 'outils / options...' onglet international tu peux utiliser temporairement d'autres séparateurs.
Recocher après l'importation 'utiliser les séparateurs système'.
eric
1
yoyo80s Messages postés 47 Statut Membre 1
 
Tout simplement!!

Ben merci.
Depuis le temps, c'est le problème le plus récurrent (avec la division par 1 dont j'abuse pour des questions de forma également :-) ).
Au moins j'aurais plus besoin de ruser et de le faire 15 fois par programme.
J'en aurai pour une bonne journée rien qu'à tout nettoyer maintenant mais ça va faire du bien de plus me pourrir avec ça.

Merci encore.
0
eriiic Messages postés 25847 Date d'inscription   Statut Contributeur Dernière intervention   7 282
 
Si tu en as besoin souvent, tu peux aussi te faire une petite macro par basculer d'un mode sur l'autre :
Sub BasculeSeparateurs()
Application.UseSystemSeparators = Not Application.UseSystemSeparators
End Sub

ex : BasculeSeparateurs.xls
J'y ai mis un raccourci clavier ctrl+d
Tu peux très bien ne pas mettre la macro dans tous les classeur. Si celui-ci est ouvert la macro marchera sur les autres classeurs (même session)
eric
0