Rechercher : dans
Par :

Besoin aide sous excel formule de recherche

Dernière réponse le 20 oct 2008 à 23:28:46 gregcdu62700, le 20 oct 2008 à 21:07:52 
 Signaler ce message aux modérateurs

Bonjour,
je souhaiterais savoir si il existe une formule sous excel permetant le rapprochement de 2 fichiers.

C'est a dire je dispose 1 fichier avec un nom établissement adresse ville code postal et dans l'autre à l'identique sauf que les données dans les cellules le nom est différent et l'adresse aussi, c'est a dire adresse fichier 1 :rue martin et dans le fichier 2 adresse: 2 rue martin, donc impossible d'effectuer une recherche v car les données cellule ne sont pas identique et en convertissant fichier trop grand.

par le biais d'une formule concatener j'arrive a réunir qq données.

Donc existe t'il une formule qui va recherche dans la base un équivalent en fonction de plusieur cellule?

Par avance merci.

Configuration: Windows XP
Internet Explorer 6.0

Meilleures réponses pour « besoin aide sous excel formule de recherche » dans :
[Excel] Chemin et nom de stockage de feuille de calcul VoirIndiquer automatiquement le chemin d'accès (path) et le nom de stockage de toute feuille de calcul Noter dans une cellule (A& par exemple) la formule : =cellule("nomfichier";A1) A chaque sauvegarde et/ou déplacement de fichier dans votre...
Formules Excel de base VoirVoici quelques formules de bases qui sont faciles à réaliser et qui peuvent donner un peu de vie à une feuille Excel ! Pour cette astuce, on supposera que l’on veut que le résultat s’affiche dans la cellule B10 et on se servira principalement des...
Formules sur Matrice Multi-Feuilles VoirFormules sur feuilles multiples Le sommaire est le suivant: Introduction Syntaxe Exemples Code Introduction Seules les Formules Somme, Moyenne, Nb, Nbval permettent de faire des calculs sur des plages discontinues ou Multi-Feuilles...

1

eriiic, le 20 oct 2008 à 21:23:34

Bonjour,

si c'est toujours le n° qui est absent tu peux extraire la sous-chaine après le 1er espace et la rechercher dans l'autre fichier.
en E2: "2 rue martin"
=STXT(E2;CHERCHE(" ";E2)+1;100)
=> "rue martin"

eric

Répondre à eriiic

2

gregcdu62700, le 20 oct 2008 à 21:35:14

Merci pour l'aide mais, le numéro est un exemple car l'on peut avoir un numéro ou non et bd à la place de boulevard av pour avenue ect, les différences vont dans les 2 sens c'est a dire d'un fichier à l'autre on retrouve av et avenue dans les 2 fichiers.
Donc le probleme et qd m^m plus complexe.

C'est le gros bordel en toute simplicité, je dis merci aux créateurs de ces 2 fichiers.

Le tout serait d'avoir un maximun de recherche en auto pour finir manuellement, j'ai 1850 clients! et biensur pas assez de temps.

Le tout serait de trouvé une fonction de recherche avec des équivalents et non des valeurs vrai.

Répondre à gregcdu62700

3

eriiic, le 20 oct 2008 à 22:11:17

Et si tu disais le but exact...
Récupérer l'adresse la plus complète ? on pourrait supposer que c'est la plus longue à nom d'établissement égal.
Ou récuperer des données différentes dans les 2 fichiers ?

Répondre à eriiic

4

 eriiic, le 20 oct 2008 à 23:28:46

En attendant ta réponse une idée comme une autre :
faire une fonction personnalisée pour récupérer les mots clés significatifs d'un nom de voie en éliminant le nombre du début si présent, les mots de 1 et 2 lettres (pour éliminer av, bd, le, la, l', au, les initiales J, J. etc), et une liste de mots interdits (avenue, rue, ...) à compléter.
Faire les recherchev() sur ces mots clés, il devrait en rester moins à traiter à la main...

Function MotClé(source As Range)
    Dim s As String, ok As Boolean, i As Long, mots() As String, c As Range
    If source.Cells.Count <> 1 Then MotClé = "Sélection trop grande"
    If IsNumeric(source) Or IsEmpty(source) Then MotClé = "non valide"
    mots = Split(Trim(source.Value))
    ' éliminer chiffres du début
    If IsNumeric(mots(0)) Then mots(0) = ""
    For i = 1 To UBound(mots)
        ' éliminer mots de moins de 2 lettres
        If Len(mots(i)) <= 2 Then mots(i) = ""
        ' éliminer mots interdits
        For Each c In Workbooks("MotClé.xls").Worksheets("Feuil1").Range("MotsInterdits")
            If mots(i) = c.Value Then mots(i) = ""
        Next c
        If Len(mots(i)) > 0 Then s = s + " " + mots(i)
    Next i
    MotClé = Trim(s)
End Function

exemple:
http://www.cijoint.fr/cjlink.php?file=cj200810/cijecB7XTW.xls
Attention: sauvegarder et nommer 'MotClé.xls' le fichier exemple, ne pas renommer sa 'Feuil1'
Pour compléter la liste de mots interdits cliquer d'abord dans la liste, et ajouter dans la ligne d'insertion marquée d'une * en bas de la liste.

eric

Répondre à eriiic