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
    Futur Membre du Club
    Profil pro
    Inscrit en
    Janvier 2003
    Messages
    14
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2003
    Messages : 14
    Points : 8
    Points
    8
    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 confirmé
    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
    Points : 542
    Points
    542
    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 : 70
    Localisation : Belgique

    Informations professionnelles :
    Activité : Consultant informatique
    Secteur : Finance

    Informations forums :
    Inscription : Mai 2005
    Messages : 4 235
    Points : 24 327
    Points
    24 327
    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.

  4. #4
    Membre régulier 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
    Points : 105
    Points
    105
    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, 21h25
  2. [WD19] Evenement clavier remplacement point par virgule
    Par Fred 57220 dans le forum WinDev
    Réponses: 8
    Dernier message: 26/03/2014, 21h03
  3. Réponses: 1
    Dernier message: 10/09/2010, 22h05
  4. [MySQL] Remplacement point par virgule
    Par helios399 dans le forum PHP & Base de données
    Réponses: 2
    Dernier message: 15/04/2009, 13h15
  5. [DELPHI WIN32] Remplacer points par virgules
    Par manubrard dans le forum Langage
    Réponses: 3
    Dernier message: 28/03/2006, 15h02

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