IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Macros et VBA Excel Discussion :

Combat contre le séparateur millier et sa reconnaissance auto ! [XL-2003]


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Juin 2010
    Messages
    15
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Juin 2010
    Messages : 15
    Par défaut Combat contre le séparateur millier et sa reconnaissance auto !
    Chers amis !

    Une fois de plus j'ai besoin de votre aide !

    Croyez-moi, j'ai déjà beaucoup cherché par moi-même ou sur le net, mais sans succès, hormis quelques faux-espoirs ponctuels.

    Le problème est simple, la solution ne l'est pas semblerait-il:

    1) J'importe des tableux de données depuis des fichiers HTML avec des points comme séparateur de décimal. Hors, par défaut, "," sépare les décimales et "." sépare les milliers.

    --> du coup, les nombres précédés d'un "0." sont maintenus en format standard mais les autres sont transformés au format "nombre" et convertis en milliers: le point est visible mais a disparu de la cell.value (ou de l'affichage formule).

    2) Solution simple mais problématique pour la suite, appliquer le code suivant avant de copier les données:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    With Application
                .DecimalSeparator = "."
               .ThousandsSeparator = "µ"
                .UseSystemSeparators = False
    End With
    --> les points sont maintenus partout, parfait... MAIS !
    --> mais pas possible le systeme VBA fonctionne (chez moi) avec "," comme séparateur de décimal. Donc, impossible d'appliquer une condition du genre:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    If TheCell.Value < "0,01" Then
    ALORS QUE FAIRE???

    3) Pourquoi pas simplement faire un replace "." en "," ?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    Dim ws As Worksheet, TheCell2 As Range, 
     For Each ws In Worksheets
            If ws.Name <> "Feuil1" And ws.Name <> "Sheet1" Then
                    For Each TheCell2 In ws.Range("A2:E70")
                    TheCell2.Value = Replace(TheCell2.Value, ".", ",")
                    Next TheCell2
                End If
        Next ws
    --> Là, des automatismes excel s'immiscent: les nombres précédés d'un "0." sont correctement remplacés et sont en format standard mais les autres sont transformés en format "nombre" et sont convertis en milliers avec le "µ" comme séparateur millier !!! (j'entends: cette conversion auto est le pb, pas le fait que ce soit des "µ")
    ---> Cette dernière conversion est complétement saugrenue ! Comment s'en débarrasser?

    Alors que faire? et surtout comment faire?

    a: imposer de maintenir le format standard?
    b: changer les standards de séparateurs millier et décimale dans VBA?
    c: interdire toute conversion/transformation automatique?
    d: d'autres idées?

    please help !

  2. #2
    Membre averti
    Profil pro
    Inscrit en
    Juin 2010
    Messages
    15
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Juin 2010
    Messages : 15
    Par défaut
    Bon, en fait la solution était ultrasimple:

    Après le point 2) avec les "." partout, j'ai juste remis
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    Application.DecimalSeparator = ","
    Application.ThousandsSeparator = "."
    Et là excel converti tous les points en virgules sans faire d'autres âneries.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 0
    Dernier message: 29/08/2012, 16h06
  2. Réponses: 5
    Dernier message: 03/11/2009, 16h47
  3. [XL-2003] Import fichier texte - problème avec séparateur milliers
    Par nmicoud dans le forum Excel
    Réponses: 4
    Dernier message: 15/04/2009, 14h48
  4. Réponses: 3
    Dernier message: 17/07/2008, 22h59
  5. Problème décimal & séparateur millier
    Par remyjoan dans le forum Administration-Migration
    Réponses: 5
    Dernier message: 29/11/2007, 18h10

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo