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 :

transformer les points en virgules


Sujet :

Macros et VBA Excel

  1. #1
    Membre habitué Avatar de Djohn
    Profil pro
    Inscrit en
    Février 2007
    Messages
    309
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France

    Informations forums :
    Inscription : Février 2007
    Messages : 309
    Points : 140
    Points
    140
    Par défaut transformer les points en virgules
    Bonjour,

    Je débute sur le vba et je suis face a un problème

    Je souhaite transformer tous les séparateurs de décimale de ma feuille excel qui sont des points en virgule

    J'ai commencé tout bétement par enregistrer une macro, ce qui m'a donné ceci :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    Cells.Replace What:=".", Replacement:=",", LookAt:=xlPart, SearchOrder _
            :=xlByRows, MatchCase:=False, SearchFormat:=False, ReplaceFormat:=False
    Mais tres bizarement lorsque j'insere ceci dans ma macro elle ne fonctionne pas du tout.

    Alors j'ai vu qu'il existait la fonction DecimalSeparator mais je dois mal l'utiliser car elle n'a aucun effet sur ma feuille excel

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    Cells.Select
    Application.DecimalSeparator = ","
    Si vous avez une solution merci de pouvoir me donner un ptit coup de main

  2. #2
    Inactif  
    Avatar de ouskel'n'or
    Profil pro
    Inscrit en
    Février 2005
    Messages
    12 464
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 12 464
    Points : 15 546
    Points
    15 546
    Par défaut
    Non, DecimalSeparator s'utilise à l'ouverture du fichier.
    S'il s'git d'un txt ou d'un .csv, tu as des indications ici, dernier post.
    A+

  3. #3
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    50
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2007
    Messages : 50
    Points : 36
    Points
    36
    Par défaut
    Un petit tour par l'enregistreur me donne ça :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
        With Application
            .DecimalSeparator = "."
            .ThousandsSeparator = " "
            .UseSystemSeparators = False
        End With
    Je suppose que ta tentative ne fontionne pas parce que, dès que ta macro s'est exécutée, Excel corrige tout seul la syntaxe...

  4. #4
    Membre habitué Avatar de Djohn
    Profil pro
    Inscrit en
    Février 2007
    Messages
    309
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France

    Informations forums :
    Inscription : Février 2007
    Messages : 309
    Points : 140
    Points
    140
    Par défaut
    merci pour vos réponses,

    Je pensais a la mm chose que toi ruzakruzak.

    N'y a t'il pas un moyen de contourner le problème sans changer les paramètres régionaux de Windows ?

  5. #5
    Inactif  
    Avatar de ouskel'n'or
    Profil pro
    Inscrit en
    Février 2005
    Messages
    12 464
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 12 464
    Points : 15 546
    Points
    15 546
    Par défaut
    Si, en ouvrant ton txt ou csv avec les bons paramètres

  6. #6
    Membre habitué Avatar de Djohn
    Profil pro
    Inscrit en
    Février 2007
    Messages
    309
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France

    Informations forums :
    Inscription : Février 2007
    Messages : 309
    Points : 140
    Points
    140
    Par défaut
    dsl, je n'ai pas compris ta réponse,

    mon fichier est en .xls et qu'appelles tu les bons paramètres ?

  7. #7
    Inactif  
    Avatar de ouskel'n'or
    Profil pro
    Inscrit en
    Février 2005
    Messages
    12 464
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 12 464
    Points : 15 546
    Points
    15 546
    Par défaut
    Autant pour moi, j'avais compris (en raison du format des décimales) que ton fichier était issu d'un .txt ou d'un .csv.
    pour tonpb j'ai donné la solution il y a une quinzaine mais là je n'ai pas le temps de faire une recherche. C'est sur le forum VBA Excel, si tu veux jeter un oeil...
    A+

    Edit
    Comme j'ai trouvé en moins de 15 secondes... Regarde la réponse 10, ici
    A+ et bonne chasse aux points

  8. #8
    Membre habitué Avatar de Djohn
    Profil pro
    Inscrit en
    Février 2007
    Messages
    309
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France

    Informations forums :
    Inscription : Février 2007
    Messages : 309
    Points : 140
    Points
    140
    Par défaut
    Merci pour ta paricipation ouskel'n'or

    J'ai réussi par erreur et par hasard à trouver une solution simplifiée.

    En remplaçant les points par des points... oui je sais que cela semble trés bizarre, mais ça fonctionne, au final mes points se sont bien transformés en virgule.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    cells.select
    Cells.Replace What:=".", Replacement:=".", LookAt:=xlPart, SearchOrder _
    :=xlByRows, MatchCase:=False, SearchFormat:=False, ReplaceFormat:=False


  9. #9
    Inactif  
    Avatar de ouskel'n'or
    Profil pro
    Inscrit en
    Février 2005
    Messages
    12 464
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 12 464
    Points : 15 546
    Points
    15 546
    Par défaut
    Non, ce n'est pas bizzare, il me semblait bien que j'avais utilisé ce type de code il y a plusieurs année mais je ne l'avais pas retrouvé quand j'ai proposé la solution de l'url que t'ai indiquée. Et pourtant j'en ai essayé des choses
    Je vais mettre un lien sur ta réponse, elle le mérite.
    Merci de ta réponse à ta question.
    A+

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

Discussions similaires

  1. passer les point en virgule dans un fichier texte
    Par soldius87 dans le forum MATLAB
    Réponses: 3
    Dernier message: 19/04/2012, 16h56
  2. transformer des point en virgule
    Par infose dans le forum C#
    Réponses: 12
    Dernier message: 04/11/2010, 11h22
  3. [CSV] Remplacer les points par des virgules
    Par johnkro dans le forum Langage
    Réponses: 4
    Dernier message: 27/11/2008, 19h25
  4. Transformer le point du pavé numérique en virgule
    Par SurfingJeff dans le forum Langage
    Réponses: 4
    Dernier message: 04/11/2008, 10h58
  5. Comment remplacer les points virgules de ma feuille?
    Par nastyshrimp dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 08/10/2008, 15h41

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