Reconnaître le contenu d'une cellule
Bonjour à tous
Je suis débutante sur excel et j'ai un problème qui me complique vraiment la vie ...
J'ai une feuille contenant des adresses provenant de 2 sources différentes : certaines sont écrites en entier, et d'autres ne contiennent que le nom de rue .
J'aimerais classer ces adresses tout en gardant les deux types d'écritures, c'est à dire que j'aimerais que les contenus puissent se "reconnaître". et que les mêmes adresses se retrouvent sur la même ligne.
L'objectif étant : Aux adresses de la source 1 sont liées les données A, et à celles de la source 2 les données B. Je dois pouvoir comparer les données A et B, et le seul lien existant entre elles est ces adresses, que je peux pour l'instant pas aligner car elles ne sont pas de la même forme.
A noter que pour le premier type d'écriture, je dispose des coordonnées géographiques, j'ai pensé à de la géolocalisation, mais ...
Je joins un exemple, sachant que mon vrai fichier contient plus de 3000 adresses, avec des soucis d'espaces entre les noms des rues ou entre les numéros qui ne doivent donc pas être pris en compte .
Je ne sais pas quoi faire !
Si quelqu'un sait ...
Merci d'avance
Bonjour,
Voici un essai suivant ton exemple, via vba avec un bouton (voir la partie du bas).
Par contre, ne connaissant pas ton fichier exact et toutes les données qu'il comprend, pas sur que tout se déroule comme souhaité.
Au pire si tu peux joindre ton fichier complet (ou au moins comprennant un certain nombre de lignes "complètes") que je vois comment sont disposées les données, je pourrais faire quelque chose de plus efficace.
Cordialement.
Bonjour, et merci pour ta réponse rapide .
Le code doit pouvoir fonctionner sur une grande version, je vais essayer de mon côté mais comme je n'y connais pas grand chose, je me retourne vers toi au cas où. Ce qui m'inquiète c'est la correspondance avec mes colonnes de données "A et B"
Je ne peux pas t'envoyer mon fichier complet, mais je t'envoie un fichier que j'ai créé qui s'en rapproche contenant deux feuilles : source 1 et source 2
Tu y verras les adresses telles que dans mon ancien fichier, ainsi qu'une colonne type, qui correspond aux données que je dois comparer. Je dois pouvoir savoir si les sources 1 et 2 ont les mêmes couleurs de maison selon l'adresse.
Merci d'avance !
Re,
Le nombre de ligne à comparer n'est pas le problème et est facilement adaptable, c'est plutôt la mise en page des données à comparer autour des adresses qu'il me faudrait (que je n'écrase pas des données qui n'apparaissaient pas dans la mise en page du fichier exemple).
Après même si sur le fichier il n'y a que 20 lignes ce n'est pas grave.
Cordialement.
Je ne suis pas sûre de comprendre ce que tu demandes ...
Le fichier original de la source 2 est le même que la feuille 2 du fichier que je t'ai envoyé. En revanche, le fichier original de la source 1 est trop complexe, comprend des dizaines de colonnes et je ne m'en sers pas pour comparer mes données. J'en extrais les colonnes qui m'intéressent, adresses et types, obtenant un fichier identique à la feuille 1 de "Adresses 3", et ensuite le problème se pose. Donc, au niveau mise en page, le fichier que je t'ai envoyé est sensiblement le même que le vrai que je dois traiter.
Cela répond à ta question ?
Merci d'avance
Ok, j'ai jeté un oeil, et j'aurais encore quelques questions :
- Dans les données de la source 2 (je n'ai pas fais attention si c'était la même chose pour celles de la source 1), il y a beaucoup de doublons, peut-on les supprimer (pour accélérer le traitement) ou ont-ils un rôle quelconque ?
- Après un 1er essai, je ne me retrouve avec seulement 49 correspondances entre les deux listes (sans parler des couleurs de maisons, juste sur les adresses entre les deux sources), cela parait-il plausible ou je me suis vraiment loupé dans mon code ? ^^
Cordialement.
- Non il ne faut pas supprimer les doublons, car en effet ils jouent un rôle pour le reste des données (c'est sûr, je ne compare pas vraiment des couleurs de maison ...)
- Pour les correspondances, j'avoue que ça me paraît très peu ! En triant les adresses des sources 1 et 2, on voit quand même que les mêmes noms de rues reviennent régulièrement, avec les mêmes numéros, donc je pense qu'une bonne partie du fichier doit normalement correspondre...
Merci encore de te pencher là dessus !
pour les correspondances, c'est en partie dut au fait des doublons justement, admettons ceci :
source 1
A-rue X n° 1 bleue
B-rue Y n°3 rouge
C-rue X n°45 jaune
D-rue Z n°8 bleue
E-rue Y n°3 rouge
F-rue V n°7 jaune
G-rue Y n°3 bleue
si en Source 2 j'ai :
1-rue Z n°8 jaune
2-rue Y n°3 rouge
3-rue X n°1 bleue
4-rue Y n°3 bleue
5-rue V n°7 jaune
6-rue Y n°3 rouge
Théoriquement, on est bien d'accord que l'on devrait avoir 5 correspondances, seulement vu que l'on ne compare que la rue et le numéro, il ne va en trouver que 3 (celles soulignées), car à chaque fois, il va sélectionner le 1er doublon en 2, mais n'attendra jamais les lignes 4 et 6.
Si on incluait la couleur , on pourrait affiner le tri (cela inclurait la ligne 4 du coup), mais nous n'aurions toujours pas la totalité des correspondances (ici la ligne 6 de la source 2 avec la ligne E de la source 1).
En gros sur tous tes doublons d'adresses de la source 1, tu vas avoir les mêmes données de la 1ère occurence dans la source 2 même si la couleur est différente.
Donc comme dans ton fichier en source 2 tu n'as déjà qu'un tiers d'entrée par rapport à la source 1, + le problème des doublons, c'est de la que vient le peu de correspondances que je trouve...
Ou Alors il va falloir quelqu'un de plus compétent que moi je pense, car je ne vois pas trop prendre en compte toutes les possibilités en sautant les lignes déjà trouvées.
Edit 13h05 : J'ai peut-être une solution, je test ça et je te tiens au courant.
D'accord je comprends.
Le code que tu as testé est-il le même que le premier que tu m'as envoyé ? Si non, peux tu me transmettre celui que tu as testé ?
J'essaierai de faire quelque chose avec ces doublons, voir s'ils sont vraiment utiles. Peut être que sur la totalité du fichier, sans doublon, les correspondances trouvées seront suffisantes.
Merci encore
Bonjour,
Bon, j'ai refais des tests comme prévu vendredi après-midi dernier, résultats peu concluant, par contre du coup je me suis aperçu que tes numéros de rue ne sont pas enregistrés tel quel, je m'explique :
Sur la source 1, pas de problème, par contre les nombres de la source 2 sont enregistrés avec des espaces devant ce qui me faussait mon traitement de comparaison et me retournait si peu de résultats.
Donc je ne vais pas avoir le temps aujourd'hui car je suis en réunion toute la journée, mais demain je regarde cela, en supprimant les espaces cela devrait aller mieux.
Cordialement.
Bonjour,
Oui en effet il y avait des problèmes d'espaces dans certaines cellules, peut être même dans les noms de rues, mais il me semble que je les avais déjà supprimés. Je n'avais pas fait attention aux numéros. Si tu as le temps de m'envoyer le code tel qu'il est, je pourrai tester la suppression d'espace des numéros,
Sinon, j'attends ton retour !
Merci encore
Bonjour à tous,
Une solution dans le fichier. Cliquer sur le bouton "Confronter".
Bonjour
Merci beaucoup pour cette proposition, je n'ai pas vraiment eu le temps de la tester, mais à première vue elle a l'air de très bien fonctionner ! Cela va considérablement accélérer mon travail ...
Je suis toujours preneuse de la version de zirak si tu as réussi, pour comparer ?
Encore merci à vous deux pour votre aide
Bonjour,
Désolé long week-end chargé...
Et ayant vu (et testé) la version de vba-new, je n'ai pas spécialement pris le temps de poursuivre ma version, surtout que la sienne est quand même beaucoup plus optimisée.
Si tu as eu le temps de faire des tests concrets sur son essai et que le résultat ne serait pas celui attendu, je m'y remets tout de suite mais sinon si tout fonctionne comme il faut, mon expérience en vba étant moindre, tu progresseras plus en étudiant sa proposition
Cordialement.