Code pour remplacer des caractères par des mots

Bonsoir le forum

Existe-t-il un code pour remplacer des caractères par des mots définis?

Exemple : (r) par Rue - (imp) par Impasse - (av) par Avenue

D'avance merci de votre aide

Bonsoir,

sans VBA il y a Substitue

A1 se trouve l'adresse

=SUBSTITUE(A1;" r ";" rue ")

sur cette formule on substitue _r_ par _rue_

J'ai ici demandé de remplacer "espace r espace" par "espace rue espace"

j'ai volontairement mis espace avant et après la lettre r afin de ne pas remplacer les r se trouvant dans les mots

le fichier joint vous montre les exemples

Ceci peut se faire avec VBA et l'instruction Replace

@ bientôt

LouReeD

25classeur1.xlsx (8.60 Ko)

Bonsoir le forum

Bonsoir le fil

Merci LouReeD pour ton fichier d'exemple, je connaissais déjà "substitute" mais en vba là je cherche

dim le_texte as string
le_texte = sheets(etc où se trouve le texte).value
le_texte = Replace(le_texte," r ","rue")
sheets(etc où se trouve le texte).value = le_texte

@ bientôt

LouReeD

Je venais de trouver la même chose sur un forum en anglais

Merci LouReeD pour ta réactivité

mais dans le code il n'y a que pour remplacer le "r" par "rue", si je veux continuer avec "imp" pour impasse, ou "bv" pour boulevard je rajoute à suivre ? ou je ré écris une autre ligne?

je dirais :

le_texte = Replace(le_texte," r "," rue ")

le_texte = Replace(le_texte," av "," avenue ")

le_texte = Replace(le_texte," bd "," boulevard ")

@ bientôt

LouReeD

Bonsoir,

Avec une boucle :

(Les Arrays, tu les remplis comme tu veux, il faut juste qu'ils aient le même nombre de mots...)

Sub rempl_abrev()
Dim Cherch, Remp
Dim I As Byte
Cherch = Array(" r ", " imp ", " bv ")
Remp = Array(" Rue ", " Impasse ", " Boulevard ")
For I = LBound(Cherch) To UBound(Cherch)
    Cells.Replace Cherch(I), Remp(I), LookAt:=xlPart
Next I
End Sub

Bonne soirée

Bonjour le forum,

Bonjour le fil

Merci à LouReed et à cousinhub pour leur réponses et pour leur aide

J'ai réussi à faire fonctionner le code de cousinhub, mais il faut supprimé les espaces entres les "" voici le code

Sub rempl_abrev_cousinhub()

    Dim Cherch, Remp
    Dim I As Byte

        Cherch = Array("r", "imp", "bv", "av", "all", "rte", "ch")
        Remp = Array("rue", "impasse", "boulevard", "avenue", "allée", "route", "chemin")
        For I = LBound(Cherch) To UBound(Cherch)
        Cells.Replace Cherch(I), Remp(I), LookAt:=xlPart

    Next I

End Sub

ça fonctionne impec

merci beaucoup à bientôt

Bonjour,

j'ai beau retourner le problème dans tous les sens, si l'on ne met pas les espaces de chaque coté le mot "imp" d'imprimerie dans l'adresse : "3 rue de l'imprimerie" chez moi avec votre code sans espace se transforme en "3 rue de l'impasserimerie"

et encore il n'y a pas la boucle avec le r , ce qui donne :"3 RUEue de l'IMPASSERUEimeRUEie"

voir le fichier joint

@ bientôt dans "l'espace"

LouReeD

29classeur1.xlsm (14.34 Ko)

Bonsoir le fil

Effectivement LouReeD , je n'avais pas fais attention aux autres colonnes de mon tableau

Merci pour la remarque c'est super

de rien,

bonne nuit à la belle étoile en regardant l'espace

@ bientôt

LouReeD

Rechercher des sujets similaires à "code remplacer caracteres mots"