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 :

[VBA-E]remplacer à l'aide d'une macro


Sujet :

Macros et VBA Excel

  1. #1
    Nouveau Candidat au Club
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    1
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2007
    Messages : 1
    Points : 1
    Points
    1
    Par défaut [VBA-E]remplacer à l'aide d'une macro
    dans une colonne je souhaiterai, à l'aide d'une macro, remplacer les virgules par un point. Au moment ou je crée la macro ceal fonctionne mais quand je copie d'autre données et que je lance la macro celle-ci ne fonctionne pas.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     Columns("E:E").Select
        Selection.Replace What:=",", Replacement:=".", LookAt:=xlPart, _
            SearchOrder:=xlByRows, MatchCase:=False
    merci pour votre aide

  2. #2
    Membre régulier
    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    223
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2007
    Messages : 223
    Points : 72
    Points
    72
    Par défaut
    AMHA ça vient du problème de paramétrage dans windows...préférence régionales, ou un truc comme ça

  3. #3
    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
    Quelle raison as-tu de vouloir remplacer les virgules par des points ?
    Je te pose cette question car une solution existe mais elle peut ne pas s'appliquer à ce que tu veux obtenir
    Consiste à faire précéder tes nombres par une apostrophe
    Cells(Nl,Nc) = "'" & Cells(Nl,Nc)
    Ainsi tu convertis tes nombres en chaînes de caractères.
    Ensuite, tu opères tes remplacements.

  4. #4
    Membre expérimenté
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    1 563
    Détails du profil
    Informations personnelles :
    Âge : 61
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 1 563
    Points : 1 691
    Points
    1 691
    Par défaut
    tu peux aussi essayer la fonction replace sous cette forme
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Replace(valeur, ",", ".")
    mais ça viens peut etre pas de là.

  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
    En faisant ce que colombine veut faire, dans Excel, s'il fait une addition des nombres obtenus avec des points, il fera sauter toutes les décimales. Y'a qu'à essayer. Transformé en string, il a encore la posibilité d'utiliser CNum... et encore, je n'en sais rien, je n'ai jamais essayé de me compliquer la vie sans une raison valable... raison valable que nous n'allons pas tarder à connaître... si colombine nous répond

  6. #6
    Membre confirmé
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    393
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2006
    Messages : 393
    Points : 451
    Points
    451
    Par défaut
    Citation Envoyé par colombine28
    dans une colonne je souhaiterai, à l'aide d'une macro, remplacer les virgules par un point. Au moment ou je crée la macro ceal fonctionne mais quand je copie d'autre données et que je lance la macro celle-ci ne fonctionne pas.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     Columns("E:E").Select
        Selection.Replace What:=",", Replacement:=".", LookAt:=xlPart, _
            SearchOrder:=xlByRows, MatchCase:=False

    Quel type de virgule as-tu dans tes nouvelles données? Est-ce un Chr(44) ou un Chr(130)?
    Et évite également les Select. Essaie donc d'enchainer les 2 lignes :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    Columns("E:E").Replace What:=Chr(44), Replacement:=".", LookAt:=xlPart, _
            SearchOrder:=xlByRows, MatchCase:=False
    Columns("E:E").Replace What:=Chr(130), Replacement:=".", LookAt:=xlPart, _
            SearchOrder:=xlByRows, MatchCase:=False

  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
    Salut davy
    Je n'avais pas pensé à ça Mais tu me donnes une idée... Quel est le vrai problème de colombine ? N'est-ce pas précisément de ne pas avoir la bonne virgule ? Auquel cas, ce serait cette solution qui lui conviendrait
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    Columns("E:E").Replace What:=Chr(130), Replacement:=Chr(44), LookAt:=xlPart, _
            SearchOrder:=xlByRows
    Juste une idée... sur laquelle colombine donnera certainement son avis... si colombine veut bien se manifester

  8. #8
    Membre expérimenté
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    1 563
    Détails du profil
    Informations personnelles :
    Âge : 61
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 1 563
    Points : 1 691
    Points
    1 691
    Par défaut
    A défaut que colombine daigne revenir, moi j'aurais appris quelque chose. c'est quoi la difference entre les deux virgules?

Discussions similaires

  1. [VBA-E] Copier une macro dans un fichier à l'aide d'une macro
    Par Capsule dans le forum Macros et VBA Excel
    Réponses: 7
    Dernier message: 09/01/2007, 21h05
  2. [VBA-E]Pendant l'execution d'une macro
    Par benoue dans le forum Macros et VBA Excel
    Réponses: 6
    Dernier message: 17/03/2006, 19h28
  3. [VBA-E]Ouvrir une image jpg àl'aide d'une macro
    Par delamarque dans le forum Macros et VBA Excel
    Réponses: 9
    Dernier message: 15/03/2006, 10h47
  4. [VBA] Excell : demande d'aide pour une macro
    Par Fealendril dans le forum Macros et VBA Excel
    Réponses: 5
    Dernier message: 11/01/2006, 17h28
  5. [VBA Excel] ecrire le caractere " avec une macro
    Par oktopuces dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 09/09/2005, 23h56

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