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 de chaine de caractères par une autre [XL-97]


Sujet :

Macros et VBA Excel

  1. #1
    Membre habitué Avatar de Oh!Tofocus
    Profil pro
    Inscrit en
    Août 2007
    Messages
    217
    Détails du profil
    Informations personnelles :
    Âge : 59
    Localisation : France

    Informations forums :
    Inscription : Août 2007
    Messages : 217
    Points : 158
    Points
    158
    Par défaut remplacement de chaine de caractères par une autre
    Je voudrais remplacer une chaine de caractère par une autre dans une string

    existe t-il une fonction en VBA toute prete comme la fonction "remplacer" dans EXCEL ?

    voici mon code qui marche mais qui est un peu tortueux à mon gout
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    Sub remp()
    chaine1 = [A1] ' chaine dans laquelle on cherche
    cherch = [A2] ' chaine recherchée
    rempla = [A3] ' chaine de remplacement
     
    Position = 1
     
    Do
    Position = InStr(Position, chaine1, cherch)
        'cherch trouvé
        If Position <> 0 Then
        'integre la chaine
        chaine1 = Left(chaine1, Position - 1) & rempla & Right(chaine1, Len(chaine1) - Position - Len(cherch) + 1)
        Position = Position + Len(rempla)
        End If
    'sortie si fin de chaine ou pas trouvé
    Loop Until Position > Len(chaine1) Or Position = 0
    'resultat en A5
    [A5] = chaine1
    End Sub
    merci d'avance pour vos commentaires...

  2. #2
    Invité
    Invité(e)
    Par défaut
    Bonjour

    As-tu regardé du coté de WorksheetFunction par exemple : http://excel.developpez.com/faq/inde...ksheetFunction

    Philippe

  3. #3
    Membre expert
    Homme Profil pro
    Retraité
    Inscrit en
    Juillet 2009
    Messages
    1 794
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 85
    Localisation : Belgique

    Informations professionnelles :
    Activité : Retraité
    Secteur : Enseignement

    Informations forums :
    Inscription : Juillet 2009
    Messages : 1 794
    Points : 3 094
    Points
    3 094
    Par défaut Replace
    Bonjour,
    Voyez la fonction

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Replace(expression, find, replace[, start[, count[, compare]]])

  4. #4
    Membre habitué Avatar de Oh!Tofocus
    Profil pro
    Inscrit en
    Août 2007
    Messages
    217
    Détails du profil
    Informations personnelles :
    Âge : 59
    Localisation : France

    Informations forums :
    Inscription : Août 2007
    Messages : 217
    Points : 158
    Points
    158
    Par défaut
    Merci pour vos réponses

    Comme je suis sous excel97
    je retiens la solution de Philippe
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Chaine1 = Application.WorksheetFunction.Substitute(Chaine1, cherch, rempla)

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

Discussions similaires

  1. Réponses: 18
    Dernier message: 10/08/2009, 10h14
  2. Réponses: 10
    Dernier message: 24/11/2008, 13h14
  3. [E-02] Remplacer une partie de chaine de caractère par une autre
    Par lucarno dans le forum Macros et VBA Excel
    Réponses: 7
    Dernier message: 30/09/2008, 22h19
  4. Remplacer chaine de caractères par une autre chaine
    Par unmaxdemily dans le forum SAS Base
    Réponses: 2
    Dernier message: 25/06/2008, 09h11
  5. JSP : comment remplacer une chaine de caractères par une autre
    Par techquos dans le forum Servlets/JSP
    Réponses: 2
    Dernier message: 14/12/2006, 09h37

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