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

Excel Discussion :

recherche texte dans colonne [XL-2003]


Sujet :

Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé Avatar de thiefer
    Profil pro
    Inscrit en
    Septembre 2008
    Messages
    94
    Détails du profil
    Informations personnelles :
    Âge : 58
    Localisation : France

    Informations forums :
    Inscription : Septembre 2008
    Messages : 94
    Par défaut recherche texte dans colonne
    Bonjour à tous,

    Le titre peut paraître bête comme ça mais je bloque...

    je suis à pied d'œuvre pour me constituer une petite base de données.
    J'ai en feuil1 un premier tableau de 960 enregistrement que je souhaite rapprocher d'un second de près de 37000 en feuil2.

    J'ai ainsi un enregistrement en feuil1 dont la valeur est "Wilshausen".
    En feuil2, ce même enregistrement est intitulé "Wickersheim Wilshausen"...

    2 solutions s'offrent à moi :

    1 - Comment procéder pour effectuer une fonction recherche de valeur approchante tout en sachant que l'option vrai de la fonction recherchev me ramène des valeurs totalement fantaisistes (pour l'exemple en question, "cilao" !!!)

    2- j'ai essayé d'automatiser une macro pour copier coller successivement chaque cellule de feuil1 sur la box de recherche excel (CTRL F) et lancer cette recherche sur la colonne concernée de la feuil2 et ainsi obtenir l'ensemble des cellules contenant le texte cherché, sans succès.
    Il copie, se place en feuill2, sélectionne ma colonne D mais aucun des traitements de la box de recherche n'est restitué par l'enregistreur de macro.
    Comment m'y prendre svp (je ne suis pas une lumière en progra vba)

    Merci par avance de toute votre aide,

    @+ tard

    TF

  2. #2
    Membre expérimenté
    Inscrit en
    Août 2009
    Messages
    284
    Détails du profil
    Informations personnelles :
    Âge : 42

    Informations forums :
    Inscription : Août 2009
    Messages : 284
    Par défaut
    Une méthode VBA:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
        Set maplage = Rang("A1","D100") 'défini la plage de recherche
        Set trouve = maplage.Find("ma recherche", maplage.Cells(1), xlValues, xlWhole, xlByColumns, xlNext) 'cet opératuer cherche une correspondance exacte.
        ligne = trouve.Row 'récupère la ligne de la case trouvée
    Sinon tu peux faire comme ceci:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    'Vérifie si la chaîne DVP existe dans la cellule A1 
    If Range("A1").Value Like "*DVP*" Then MsgBox "Le mot ""DVP"" existe dans la cellule A1."
    Voir cette page:
    http://silkyroad.developpez.com/VBA/...nesCaracteres/

    Pour la boucle:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    Dim c as range, plage as range
     
    set plage=(range("A1","N37000")
    For each c in plage
    if c.value Like"*Ta recherche*" then MsgBox("ta recherche est dans la cellule ligne " & c.row & " colonne " & c.column")  
    next c

  3. #3
    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
    la fonction Vlookup (recherche en matrice) te conviendrais peut-etre ?
    mais pour cela il faudrait que tu fasse un test de recherche en matrice déjà pour voir si tu trouve les bonnes info avant de la parametré en VBA

  4. #4
    Membre éprouvé

    Profil pro
    Inscrit en
    Août 2009
    Messages
    85
    Détails du profil
    Informations personnelles :
    Âge : 53
    Localisation : France, Gironde (Aquitaine)

    Informations forums :
    Inscription : Août 2009
    Messages : 85
    Par défaut utilise les soundex pour faire des recherches approchées
    Bonjour,
    Il faudrait dans ton cas coder par forumules excel ou par vba (de préférence !) l'algorithme soundex2 (soundex francophone) décrit ici :
    http://www-lium.univ-lemans.fr/~carl...e/soundex.html
    (google sera ton ami)
    Si c'est par vba, mettre toutes les correspondances phonétiques dans un onglet du classeur excel (exemple, GUI devient KI), puis charger un tableau et appliquer le soundex2 sur chacun des noms.

    C'est à mon sens la seule solution pour avoir des recherches approchées. Il faut faire des recherches exactes et approchées.

    Le problème de RECHERCHEV, option recherche approchée, c'est qu'on ne sait pas trop quel algo elle utilise...

    J'ai déjà utilisé ce genre de techno pour des recherches sur fichiers clients, le résultat est pas mal, mais on garde un résidu de 5 à 10% de lignes à traiter à la main...

    Ca se code pas en 2 minutes...
    Mais ton pgm vba serait : une fonction soundex2 + une procédure qui fait la recherche ligne à ligne... Quoiqu'on peut aussi utiliser la recherchev de excel une fois que le soundex2 est calculé sur tous les noms.

  5. #5
    Membre confirmé Avatar de thiefer
    Profil pro
    Inscrit en
    Septembre 2008
    Messages
    94
    Détails du profil
    Informations personnelles :
    Âge : 58
    Localisation : France

    Informations forums :
    Inscription : Septembre 2008
    Messages : 94
    Par défaut
    bonjour à tous et merci de vos retours

    j'ai testé deux solutions qui semblent donner d'assez bons résultats en formule excel

    =INDEX('feuil2'![valeur colonne en retour];EQUIV("*"&[cellule de la valeur recherchée];'feuil2'![matrice dans laquelle on effectue la recherche];0))

    =RECHERCHEV("*"&[cellule de la valeur recherchée]&"*";'feuil2'![matrice dans laquelle on effectue la recherche];[n° de la colonne retournée];0)

    Si cela peut aider, c'est sans prétention et ne va certainement pas aussi loin que certaines propositions formulées mais ça dégrossi déjà pas mal le tableau tout en ayant l'avantage de rester très accessible pour le quidam moyen que je suis ;-)

    @ bientôt

    TF

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Problème recherche nombre dans colonne
    Par kanabzh29 dans le forum Excel
    Réponses: 10
    Dernier message: 25/09/2008, 14h33
  2. [Débutant] Recherche texte dans les sources d'un projet
    Par oasis+ dans le forum Powerbuilder
    Réponses: 1
    Dernier message: 23/07/2007, 15h19
  3. Recherche texte dans une page ?
    Par Kenshin86 dans le forum IE
    Réponses: 6
    Dernier message: 29/04/2007, 01h55
  4. [win32] Recherche texte dans fichier
    Par raphael_kindt dans le forum Windows
    Réponses: 1
    Dernier message: 26/07/2006, 13h51
  5. Recherche texte dans txt
    Par Guillaume602 dans le forum Windows
    Réponses: 3
    Dernier message: 21/12/2005, 01h05

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