Séparateur de millier ou décimales

Fermé
yoyo80s Messages postés 35 Date d'inscription mardi 8 mars 2011 Statut Membre Dernière intervention 27 février 2019 - 8 mars 2011 à 05:36
eriiic Messages postés 24454 Date d'inscription mardi 11 septembre 2007 Statut Contributeur Dernière intervention 7 octobre 2022 - 8 mars 2011 à 21:03
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

3 réponses

eriiic Messages postés 24454 Date d'inscription mardi 11 septembre 2007 Statut Contributeur Dernière intervention 7 octobre 2022 7 139
8 mars 2011 à 07:03
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 35 Date d'inscription mardi 8 mars 2011 Statut Membre Dernière intervention 27 février 2019 1
8 mars 2011 à 18:56
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 24454 Date d'inscription mardi 11 septembre 2007 Statut Contributeur Dernière intervention 7 octobre 2022 7 139
8 mars 2011 à 21:03
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