Standardisation d'adresse

Bonjour,

Suite à la demande d'Yvouille je crée un nouveau poste en essayant d'etre plus clair.

Vous trouverez joint à ce message un fichier qui vous aidera à mieux comprendre le problème.

Dans la colonne A se trouve les adresses non standardisées et dans la colonne B les adresses standardisées.

Je souhaite que les adresses de la colonne A prennent la forme des adresses se trouvant dans la colonne B.

Donc dans un premier temps le programme devra trouver l'adresse a standartiser dans la colonne B pour dans un second temps

la transformer et la retranscrire dans une colonne C.

Par exemple pour l'avenue des abricots. Je souhaite que le programme aille chercher l'adresse standardisée en colonne b ligne 15 c'est a dire av des abricots et qu'il la retranscrive dans la colonne C "résultat".

31test.csv (432.00 Octets)

Bonsoir,

pour moi les 2 types d'adresse sont standardisés, il est donc relativement simple de passer d'un standard à l'autre et il n'est pas nécessaire de passer par une recherche parmi les adresses standardisées.

voici une fonction qui permet de convertir l'adresse au format ("non standardisée") en adresse au format ("standardisé")

fonction à insérer dans un module VBA et à utiliser comme suit

par exemple en C1 =StandAdresse(A1), A1 étant une cellule contenant l'adresse à standardiser

Function StandAdresse(t)
Dim ta As Variant

t = Replace(t, ")", "")
t = Replace(t, "'", "")
ta = Split(t, "(")
ta(1) = Replace(ta(1), "VIEUX CHEMIN", "VCHE")
ta(1) = Replace(ta(1), "AVENUE", "AV")
ta(1) = Replace(ta(1), "RUE", "R")
ta(1) = Replace(ta(1), "PLACE", "PL")
ta(1) = Replace(ta(1), "IMPASSE", "IMP")
' à complèter sans doute pour VLA, SENTE, BOULEVARD, ROUTE, ....

StandAdresse = ta(1) & " " & ta(0)

End Function
20test.xlsm (15.62 Ko)

C'est pas ce que je recherchais au départ mais ça répond en partie à mon problème.

En plus tu viens de simplifier un de mes programmes donc je t'en remercie.

Je te mets un exemple pour que tu vois la différence ^^

For i = 2 To 9993

If Right(Cells(i, 1), 13) = "(VILLA DE LA)" Then

Cells(i, 2) = "VILLA DE LA"

ElseIf Right(Cells(i, 1), 12) = "(VILLA DE L)" Then

Cells(i, 2) = "VILLA DE L"

ElseIf Right(Cells(i, 1), 11) = "(VILLA DES)" Then

Cells(i, 2) = "VILLA DES"

ect.....

Encore merci h2s04 et passe une bonne journée.

Problème résolue

Rechercher des sujets similaires à "standardisation adresse"