Normaliser les adresses dans une base de données excell

MAGIC93

XLDnaute Nouveau
Bonjour,

J'ai une base de données sous format excel.

J'essaie de trouver et supprimer des doublons grace a des formules et des comparaisons de chaine de caractere mais le soucis c'est que ma base n'est pas normalisée surtout au niveau des adresses.

Je vous donne un exemple.
Je vais avoir "2 avenue du Général de Gaulle", "2 av du Gen de Gaulle", "2 avenue Charles de Gaulle"...

Mes formules excell de comparaison me detectent les adresses comme differentes alors que bien sur c'est la meme adresse.

Je souhaiterai un programme VBA ou excell qui puisse me detecter des chaines de caracteres qui sont "presques pareilles" et que le logiciel me pose ensuite la question pour que je puisse choisir si oui ou non les deux adresses sont identiques ou differentes.

J'avais pensé à décomposer toute l'adresse en une serie de lettre et ensuite comparer les lettres présentes dans les 2 chaines de caracteres.

A partir du moment ou un nombre suffisant de lettre vont se retrouver dans les deux chaines alors je demande à excell de me poser la question pour que moi je decide si oui ou non je suis sur la meme adresse.

J'avais aussi pensé à l'idée de decomposer l'adresse non pas en lettre mais en mot afin de comparer les mots qui se retrouvent dans les deux chaines.

Avant de me lancer dans l'écriture d'un tel script, peut etre que certain d'entre vous se sont déja posé le probleme.

Peut etre meme que des logiciels ou plug in existe dans le commerce et pourrait faire ce boulot ?

Dans l'attente de vos reponses...

a+
 

pierrejean

XLDnaute Barbatruc
Re : Normaliser les adresses dans une base de données excell

bonjour MAGIC 93

vois si ce fichier peux t'aider
 

Pièces jointes

  • Fichier_recherche_noms.xls
    30 KB · Affichages: 154
  • Fichier_recherche_noms.xls
    30 KB · Affichages: 159
  • Fichier_recherche_noms.xls
    30 KB · Affichages: 162

pierrejean

XLDnaute Barbatruc
Re : Normaliser les adresses dans une base de données excell

re

dans le fichier joint la macro declenchée par le bouton comparaison

pour chaque nom de la colonne B
explore la colonne E
et si 2 mots sont identiques quelles que soient leurs places respectives dans ces 2 colonnes
copie le contenu de la colonne E dans la colonne C sur la même ligne que le nom comparé (en B)

La macro peux etre adaptée a un autre contexte et etre sophistiquée (si necessaire )

par exemple il est possible d'avoir un repertoire permettant d'eviter de comparer des mots tels que rue av avenue Mr MMe mlle etc , eviter la sensiblilité a la casse etc....

Precise ton probleme et j'adapterais si utile
 

MAGIC93

XLDnaute Nouveau
Re : Normaliser les adresses dans une base de données excell

pierrejean à dit:
Precise ton probleme et j'adapterais si utile

Re Pierre Jean et merci pour ton aide,

J'ai reflechi plus en profondeur a ma problematique et j en ai deduit le principe de fonctionnement de la macro suivant.

Il faut que la macro travaille par ville et analyse toutes les adresses d'une meme ville, puis toutes les structures de cette meme ville.

Une fois que cette premiere ville sera traitée alors la macro passe à la seconde ville et continue sont traitement.

Je t'ai mis en piece jointe un exemple pour que mon explication soit plus parlante.

Quand pour une meme ville, la macro va trouver deux adresses qui ont un mot en commun alors elle va mettre dans la colonne doublon (colonne D dans mon exemple), un meme identifiant juste a cote des deux adresses qui ont un mot en commun, conf l'exemple joint ou j'ai fait le travail manuellement.

Une fois que la macro a fini de traiter le fichier et qu'elle a placé les identifiants moi je n'ai plus qu'a classer les identifiants par ordre croissant et je decide alors visuellement si oui ou non les adresses qui ont le meme identifiant sont identiques ou differentes.

Si elles sont differentes, je n'ai rien a faire, si elles sont identiques je n'aurais qu'a faire un copier coller d'une cellule sur l'autre pour les rendre cette fois ci vraiment identiques.

Ce mode de fonctionnement marche a condition que la macro fasse l'etude comparative des adresses mais sans tenir compte d'un certain nombre de mots courant comme rue, avenue...

Il faudrait aussi que la macro fasse ce meme travail de comparaison sur le nom de la structure.

Lideal serait que la macro me demande dans quelle colonne se trouve ville, doublon structure, structure, doublon adresse et adresse car en fonction de mes fichiers les colonnes qui nous interessent ne se trouvent pas toujours au meme endroit donc si j'avais une macro qui marche quelque soit la position des colonnes ca serait super.

Pour finir, l'ideal serait que la macro me donne la possiblité de compléter ou supprimer des mots dans la liste de mot courant.

C'est en fait en testant la macro sur mes fichiers que je vais me rendre compte que cette liste doit etre afinée afin que le travail de la macro soit plus pertinant.

J'en demande peut etre un peu beaucoup mais Je n'ai pas de connaissance en VBA, donc si tu arrives a finaliser une telle macro ce sera une aide que j'accepterai avec un ENORME plaisir.

Juste pour info, si jamais tu n'as plus de mes nouvelles a partir de jeudi de cette semaine, c'est normal je pars en vacances mais je reviens le 27/08/07.

cordialement
Magic93
 

Pièces jointes

  • 62589d1186155780-normaliser-les-adresses-dans-une-base-de-donnees-excell-fichier_recherche_noms.xls
    45.5 KB · Affichages: 254

Discussions similaires

Statistiques des forums

Discussions
312 492
Messages
2 088 938
Membres
103 988
dernier inscrit
Feonix