Supprimer apostrophe et tiret dans une adresse et copier le dernier mot (excel VBA)

exene

XLDnaute Accro
Bonsoir,

J'ai une liste d'adresse à partir de B2 ou il peut y avoir des apostrophes ou des tirets. Je souhaiterais les supprimer et les remplacer par un blanc pour ensuite copier le dernier mot de cette adresse et le copier dans la colonne K. Par exemple impasse Saint-Joseph deviendrait impasse Saint Joseph puis en colonne K je voudrais trouver Joseph. Ci- joint un exemple dans le fichier attaché.

Merci de votre aide.
 

Pièces jointes

  • test XLD.xlsx
    10.5 KB · Affichages: 58
  • test XLD.xlsx
    10.5 KB · Affichages: 57

tototiti2008

XLDnaute Barbatruc
Re : Supprimer apostrophe et tiret dans une adresse et copier le dernier mot (excel V

Bonsoir exene,

un essai

Code:
=STXT(SUBSTITUE(SUBSTITUE(SUBSTITUE(B2;"-";" ");"'";" ");" ";"$";NBCAR(SUBSTITUE(SUBSTITUE(B2;"-";" ");"'";" "))-NBCAR(SUBSTITUE(SUBSTITUE(SUBSTITUE(B2;"-";" ");"'";" ");" ";"")));CHERCHE("$";SUBSTITUE(SUBSTITUE(SUBSTITUE(B2;"-";" ");"'";" ");" ";"$";NBCAR(SUBSTITUE(SUBSTITUE(B2;"-";" ");"'";" "))-NBCAR(SUBSTITUE(SUBSTITUE(SUBSTITUE(B2;"-";" ");"'";" ");" ";""))))+1;1000)

à recopier vers le bas
 

tototiti2008

XLDnaute Barbatruc
Re : Supprimer apostrophe et tiret dans une adresse et copier le dernier mot (excel V

Re,

J'avais pas vu en VBA, désolé

Code:
Function DernMot(Adr As String) As String
    DernMot = Replace(Adr, "-", " ")
    DernMot = Replace(DernMot, "'", " ")
    DernMot = Mid(DernMot, InStrRev(DernMot, " ") + 1)
End Function
 

tototiti2008

XLDnaute Barbatruc
Re : Supprimer apostrophe et tiret dans une adresse et copier le dernier mot (excel V

Re,

1000 signifie 1000 caractères à partir du dernier espace
la formule était assez longue pour éviter de compter le nombre de caractères à extraire, s'il y en a moins de 1000, il ne prend que les existants évidemment
 

Discussions similaires

Statistiques des forums

Discussions
312 236
Messages
2 086 479
Membres
103 232
dernier inscrit
logan035