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 :

Remplacer des caractère par d'autres [XL-2003]


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Inscrit en
    Avril 2009
    Messages
    177
    Détails du profil
    Informations forums :
    Inscription : Avril 2009
    Messages : 177
    Par défaut Remplacer des caractère par d'autres
    Bonjour,

    Voila je voudrai savoir si il est possible de remplacer certains caractères par d'autres. En faite, une fonction de m^me type que str_replace en php.

    Mon problème est le suivant :
    Une macro fait un traitement sur une ligne d'une base de données afin de compléter un feuille automatiquement.
    Une fois cela fait, le formulaire est enregistré avec un nom reprenant certains champs de la ligne.

    Le problème c'est que parfois ces champs comprennent des caractères spéciaux type : "" ou autres or c'est caractère font planter la macro lors de l'enregistrement donc je souhaites remplacer ces caractères qui posent problèmes mais je vois pas trop comment faire.

    Merci de votre aide.

  2. #2
    Membre confirmé

    Profil pro
    Inscrit en
    Février 2005
    Messages
    198
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 198
    Par défaut
    Il faut utiliser la fonction replace(ChaineOriginale, CaractèreAModifier, CaractèreRemplaçant)

  3. #3
    Membre émérite Avatar de sabzzz
    Profil pro
    Inscrit en
    Octobre 2009
    Messages
    748
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2009
    Messages : 748
    Par défaut
    bonjour gege765,

    par exemple pour remplacer un caractere de retour à la ligne,

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    For Each c In Range("A1:A10")
    Range(c.Address) = Application.Substitute(c, Chr(10), "")
    Next

  4. #4
    Membre confirmé
    Inscrit en
    Avril 2009
    Messages
    177
    Détails du profil
    Informations forums :
    Inscription : Avril 2009
    Messages : 177
    Par défaut
    Merci des réponses.

    Donc si je veux remplacer le . / ou " par espace je suis obliger de faire des boucles dans des boucles ?

  5. #5
    Membre émérite Avatar de sabzzz
    Profil pro
    Inscrit en
    Octobre 2009
    Messages
    748
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2009
    Messages : 748
    Par défaut
    Donc si je veux remplacer le . / ou " par espace je suis obliger de faire des boucles dans des boucles ?
    oui,

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    a = Array(".", "/", ", ", "./!") '<---mettre autant de caractère voulu, unique ou groupe
    For i = LBound(a) To UBound(a)
      For Each c In Range("A1:A10")
       Range(c.Address) = Application.Substitute(c, a(i), "")
      Next
    Next

  6. #6
    Membre confirmé
    Inscrit en
    Avril 2009
    Messages
    177
    Détails du profil
    Informations forums :
    Inscription : Avril 2009
    Messages : 177
    Par défaut
    merci Isabelle,
    Je testerai demain.
    Bonne soirée.

  7. #7
    Membre émérite Avatar de sabzzz
    Profil pro
    Inscrit en
    Octobre 2009
    Messages
    748
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2009
    Messages : 748
    Par défaut
    se serait mieux dans ce sens,

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    a = Array(".", "/", ", ", "./!") '<---mettre autant de caractère voulu, unique ou groupe
    For Each c In Range("A1:A10")
      For i = LBound(a) To UBound(a)
       Range(c.Address) = Application.Substitute(c, a(i), "")
      Next
    Next

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

Discussions similaires

  1. [Débutant] Remplacer une sélection avec des caractères "*" par un autre
    Par canardav77 dans le forum VB.NET
    Réponses: 6
    Dernier message: 26/10/2012, 16h29
  2. Réponses: 5
    Dernier message: 09/11/2007, 09h59
  3. Réponses: 3
    Dernier message: 21/07/2007, 01h48
  4. Remplacer un caractère par un autre
    Par cybkilla dans le forum Sybase
    Réponses: 3
    Dernier message: 08/01/2007, 15h42
  5. Parser une page pour remplaçer des mots par d'autres
    Par HALOMOTO dans le forum Langage
    Réponses: 13
    Dernier message: 13/07/2006, 22h58

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