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 :

Correction d'adresses postales


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Candidat au Club
    Profil pro
    Inscrit en
    Mai 2010
    Messages
    3
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2010
    Messages : 3
    Par défaut Correction d'adresses postales
    Bonjour,
    J'ai trouvé mes limites en programmation Excel et je vous serais grandement reconnaissant si vous pouviez m'aider.

    J'aimerais que Excel puisse faire correspondre des noms de rue.

    Un exemple sera plus simple que n'importe quelle explication.

    Ds une colonne, rue des chaussons, rue rousseau, ...
    Ds une 2eme colonne: chausson r, roussot (rue), ...
    Est-ce que Excel serait capable de savoir que
    chausson r = rue des chaussons
    et
    rue rousseau = roussot (rue) ?

    Si je dois faire manuellement le lien entre ces 2 colonnes, j'en ai pour... 2semaines ptet...

    MERCI BEAUCOUP D'AVANCE !!!!

  2. #2
    Membre émérite Avatar de sabzzz
    Profil pro
    Inscrit en
    Octobre 2009
    Messages
    748
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2009
    Messages : 748
    Par défaut
    bonjour remi,

    une possibilité serait de faire une fonction personnalisé,
    plage étant les cellules : rue des chaussons, rue rousseau, ...
    rue sera la cellule contenant "chausson r"
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    =equivalence(A1:A10;B1)
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    Function equivalence(plage As Range, rue As Range) As String
    Dim x As String
    x = Left(rue, Application.Find(" ", rue) - 1)
    For Each c In plage
    If Not IsError(Application.Find(x, c)) Then equivalence = c
    Next
    End Function

  3. #3
    Membre éprouvé
    Profil pro
    Inscrit en
    Mars 2009
    Messages
    85
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2009
    Messages : 85
    Par défaut
    Bonjour

    Tu nous donnes des exemples, mais est-ce qu'ils sont tous formatés de la même manière ou différents ?

    En effet, si tes adresses ont des écritures loufoques, il faudrait un algorithme en béton pour réaliser cela, même les logiciels professionnelles qui font cela coûtent une fortune et ne sont pas fiables à 100 %.

  4. #4
    Candidat au Club
    Profil pro
    Inscrit en
    Mai 2010
    Messages
    3
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2010
    Messages : 3
    Par défaut
    Bonjour,
    Je ne cherche pas forcément à automatiser entièrement le processus.

    Généralement ds une même colonne, les noms sont à peu près formatés de la même manière mais il peut y avoir un S qui saute, un A qui devient un O (par rapport à l'autre colonne)

    en gros:

    rue des chaussons r chausson
    rue des acacias r acaccias
    rue J.J. Rousseau r roussau

    Si je demande à Excel de convertir les adresses de telle sorte que chaque mot soit ds une colonne, cela permettrait de ne s'intéresser qu'à la ressemblance du mot principal (chaussons, acacias...)
    ce serait peut-etre plus simple ?

  5. #5
    Membre éclairé Avatar de bosk1000
    Profil pro
    Inscrit en
    Juin 2008
    Messages
    706
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2008
    Messages : 706
    Par défaut
    bonjour
    je n'ai pas bien compris ce que tu cherche a faire
    est-ce que la colonne qui comporte r chausson, tu voudrais qu'il en reste que chausson ?

    en fait il existe une fonction dans excel qui va casser toute ta colonne de nom d'adresse sur plusieurs colonne
    exemple : rue jean Jacques rousseau
    se verserais sur 4 colonnes
    alors que rue chausson, sur deux
    etc...

    ensuite tu peux re-concaténer tes colonnes comme tu a envie et inclure des parenthèses) sur les nom, mais pour t'aider il faut bien comprendre le formatage que tu veux
    par exemple sil te reste en ligne 1
    colonne a rue
    colonne b chausson
    en c tu peux mettre
    tu obtiens
    chaussons (rue)

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

    Citation Envoyé par remi212 Voir le message
    Généralement ds une même colonne, les noms sont à peu près formatés de la même manière mais il peut y avoir un S qui saute, un A qui devient un O (par rapport à l'autre colonne)

    en gros:

    rue des chaussons r chausson
    rue des acacias r acaccias
    rue J.J. Rousseau r roussau

    Si je demande à Excel de convertir les adresses de telle sorte que chaque mot soit ds une colonne, cela permettrait de ne s'intéresser qu'à la ressemblance du mot principal (chaussons, acacias...)
    ce serait peut-etre plus simple ?
    Je vais me permettre d'intervenir car je connais très bien le sujet, ayant travaillé 13 ans chez un routeur, dont 2 ans en tant que développeur et ayant travaillé sur de multiples fichiers d'adresses.

    Il n'y aura pas de solutions génériques pour cela, je vais t'expliquer comment travaillent les logiciels qui réalisent cela, en effet comme le dit PeyePo, il existe des logiciels professionnels qui fonctionnent de la même suivante :

    Il y a d'abord une correspondance entre les noms de la rue et la ville (base postale payante), ensuite pour faire des recherches sur ce qui ne correspond pas, on travaille phonétiquement avec des algorithmes du type soundex.

    Les quelques palliatifs que l'on te donne ne résoudront pas tous tes problèmes, mais une partie. J'espère pour toi que c'est un travail ponctuel et non récurrent.

    Philippe

  7. #7
    Candidat au Club
    Profil pro
    Inscrit en
    Mai 2010
    Messages
    3
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2010
    Messages : 3
    Par défaut
    Oui...
    J'ai réalisé aujourd'hui qu'il fallait que j'abandonne cette idée.
    J'ai bricolé un truc avec l'algorithme de levenshtein, et au bout d'une heure j'ai arreté le prgm qui n'avait tjs pas trouve la solution d'un nom de rue.
    C'est un boulot ponctuel alors... je vais m'y coller dès demain
    Merci bcp qd même d'avoir essayé de m'aider !
    Bonne soirée

Discussions similaires

  1. Séparer en 3 ligne une adresse postale
    Par Raph31 dans le forum Requêtes et SQL.
    Réponses: 2
    Dernier message: 12/05/2008, 21h06
  2. Réponses: 5
    Dernier message: 26/12/2007, 10h51
  3. Parsing adresse postale
    Par abbenoit dans le forum Langage
    Réponses: 3
    Dernier message: 15/10/2007, 10h24
  4. verification adresse postale
    Par manu80000 dans le forum Delphi
    Réponses: 2
    Dernier message: 28/06/2006, 12h27
  5. Algorithme de correction d'adresse email (corriger : domaine + extension)
    Par the_mat dans le forum Algorithmes et structures de données
    Réponses: 12
    Dernier message: 03/05/2006, 10h34

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