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 :

Remplacement Point par Virgule.


Sujet :

Macros et VBA Excel

  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Janvier 2003
    Messages
    14
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2003
    Messages : 14
    Par défaut Remplacement Point par Virgule.
    Bonjour,

    J'aurais un petit problème à vous soumettre. Je dispose d'une feuille de calcul où il y a des points à la place des virgules pour les decimaux.

    Lorsque je fait Remplacer . par , manuellement, Excel fait bien les remplacements et les cellules sont ensuites correctement affichées comme des nombres.

    Lorsque je le fait avec une macro, il y a bien remplacement, les cellules passent aussi en format nombre mais je suis ensuite obligé de repasser sur chaque cellules individuellement pour qu'elles soient réellement considérées comme des nombres, ce qui n'est pas très pratique pour mes deux milles cellules !...

    Avez vous déjà eut ce problème ? et savez vous comment le résoudre ?

    Merci pour votre réponse

  2. #2
    Membre chevronné
    Profil pro
    Inscrit en
    Février 2007
    Messages
    491
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2007
    Messages : 491
    Par défaut
    bonjour,


    Regarde la fonction REPLACE()

  3. #3
    Modérateur
    Avatar de AlainTech
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Mai 2005
    Messages
    4 235
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 71
    Localisation : Belgique

    Informations professionnelles :
    Activité : Consultant informatique
    Secteur : Finance

    Informations forums :
    Inscription : Mai 2005
    Messages : 4 235
    Par défaut
    Essaye
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Cells(1, 1).Value = Cells(1, 1).Text
    Explication:
    Pour VBA, le séparateur décimal est le point.
    En prenant la valeur affichée dans la cellule (.Text), on prend le point comme séparateur, ce qui est correct pour VBA.
    En assignant cette valeur au .Value de la cellule, la conversion se fait automatiquement.
    N'oubliez pas de cliquer sur quand vous avez obtenu ou trouvé vous-même la réponse à votre question.
    Si vous trouvez seul, pensez à poster votre solution. Elle peut servir à d'autres!
    Pensez aussi à voter pour les réponses qui vous ont aidés.
    ------------
    Je dois beaucoup de mes connaissances à mes erreurs!

  4. #4
    Membre éprouvé Avatar de DidierLoche
    Profil pro
    Inscrit en
    Octobre 2008
    Messages
    84
    Détails du profil
    Informations personnelles :
    Âge : 59
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Octobre 2008
    Messages : 84
    Par défaut
    Bonjour,

    J'ai eu le même soucis dans le passé pour ouvrir des fichiers texte en fonction du séparateur décimal système et Excel.
    Pour cela, avant d'ouvrir un fichier texte, je force le séparateur décimale Excel à celui du fichier texte que je veux ouvrir, j'ouvre le fichier texte et ensuite je remets le séparateur décimal en ".".
    Cela donne ceci :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    Application.DecimalSeparator = ","
        Workbooks.OpenText Filename:= _
            "D:\Documents and Settings\Didier\Mes documents\VBA\table.txt", Origin:= xlMSDOS, DataType:=xlDelimited, Tab:=True, local:=True
    Application.DecimalSeparator = "."
    Je ne maitrise pas bien le "local:=true" mais j'ai remarqué que sans cela, mes collègues allemands ou anglais avaient des problèmes.

    Voilà, si cela peut aider.

    Didier

    Autres précisions.
    J'ai fait l'inverse de ce qui est demandé (j'ai changé les virgules en points) mais vous ariverez facilement à faire l'inverse
    J'ai considéré que le délimiteur de mon fichier texte était la tabulation. Faire enregistrer macro et ouvir le fichier texte au format qui va bien pour avoir la syntaxe qui va bien. Par contre, ajouter le fameux "Local:True".

    Didier

Discussions similaires

  1. Réponses: 55
    Dernier message: 08/11/2014, 22h25
  2. [WD19] Evenement clavier remplacement point par virgule
    Par Fred 57220 dans le forum WinDev
    Réponses: 8
    Dernier message: 26/03/2014, 22h03
  3. Réponses: 1
    Dernier message: 10/09/2010, 23h05
  4. [MySQL] Remplacement point par virgule
    Par helios399 dans le forum PHP & Base de données
    Réponses: 2
    Dernier message: 15/04/2009, 14h15
  5. [DELPHI WIN32] Remplacer points par virgules
    Par manubrard dans le forum Langage
    Réponses: 3
    Dernier message: 28/03/2006, 16h02

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