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 :

moteur de recherche


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Profil pro
    Inscrit en
    Novembre 2009
    Messages
    390
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2009
    Messages : 390
    Par défaut moteur de recherche
    Bonsoir,
    j'ai un petit moteur de recherche dans une feuille excel affin de rechercher du texte dans toutes les pages du classeur ou est situé cette feuille de recherche.
    Mon code fonctionne mais je n'arrive pas à avoir plusieurs réponses si le texte est sur plusieurs page ou cellule

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    Sub recherche()
     
    For Each f In ActiveWorkbook.Sheets    ' boucle feuilles
        With f
            l = 1: c = 1
            rech = Range("D12").Value
                Set sel = .Range("A1:IV65536").Find(What:=rech, LookIn:=xlValues, LookAt:=xlPart, _
                SearchOrder:=xlByColumns, _
                SearchDirection:=xlNext, MatchCase:=False)
                If Not sel Is Nothing Then
                    Range("d27") = f.Name
                    Range("D28") = sel.Address
                End If
     
        End With
    Next
    End Sub
    j'ai une case pour rentrer le mot ou la phrase et je voudrais afficher toutes les réponses et pouvoir cliker dessus affin que excel me renvoi vers la bonne page , merci si quelqu'un peu m'aider par avance
    bonne soirée a tous

  2. #2
    Membre Expert Avatar de laetitia
    Profil pro
    Inscrit en
    Décembre 2002
    Messages
    1 281
    Détails du profil
    Informations personnelles :
    Âge : 35
    Localisation : France

    Informations forums :
    Inscription : Décembre 2002
    Messages : 1 281
    Par défaut
    bonjour scoubi77 le forum une macro qui recherche sur plusieurs feuilles copy feuil1 sur sur colonne b nom feuille en colonne c adress cellule apres on adapte passer par une macro ou une evenementielle a voir???

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    Option Explicit
    Dim x As String, address As Variant, premier As Variant, c As Range, temp As Variant, ws As Worksheet
    Sub ch()
      Application.ScreenUpdating = False
      Sheets(1).[b2:c1000].ClearContents
      x = Sheets(1).[A1]
      For Each ws In Sheets
      If ws.Name <> "Feuil1" Then
      ws.Activate
      With Cells
      Set c = .Find(x, LookIn:=xlValues, LookAt:=xlWhole) ' a adapter pour recherche absolue ou pas
      If Not c Is Nothing Then
      premier = c.address
      Do
      With Sheets("feuil1")
      .Range("b" & .Rows.Count).End(xlUp)(2) = ws.Name
      .Range("c" & .Rows.Count).End(xlUp)(2) = c.address
      End With
      Set c = .FindNext(c)
      Loop While Not c Is Nothing And c.address <> premier
      End If: End With: End If: Next ws: Sheets(1).Activate
      End Sub
    ps je recherche sur la cellule a1

  3. #3
    Membre éclairé
    Profil pro
    Inscrit en
    Novembre 2009
    Messages
    390
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2009
    Messages : 390
    Par défaut
    Merci pour ta reponse mais enfait je voudrais juste savoir comment lui demander d'étendre la recherche et pas s'arreter à la première valeur trouvée. Mon code fonctionne bien mais helas se borne a s'arreter a la première valeur trouvée, ce que je voudrais c'est continuer mon code afin de lui demander d'afficher toutes les réponses trouvées et de les afficher, et de pouvoir clicker sur l'une des réponse affin qu'il m'envoi directement dans la page ou se situe la valeur recherchée .
    Merci déjà pour le temps que tu m'as accordé, je t'en remercie infiniment

  4. #4
    Membre Expert Avatar de laetitia
    Profil pro
    Inscrit en
    Décembre 2002
    Messages
    1 281
    Détails du profil
    Informations personnelles :
    Âge : 35
    Localisation : France

    Informations forums :
    Inscription : Décembre 2002
    Messages : 1 281
    Par défaut
    re,tu pourrais écrire comme cela

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
        If Not sel Is Nothing Then
     Range("b" & Rows.Count).End(xlUp)(2) = f.Name
     Range("c" & Rows.Count).End(xlUp)(2) = sel.address
                End If
    ect..
    mais le pb...la recherche s'arretera toujours sur la premiere valeur trouve dans chaque feuille avec le code donne pas ce pb...si tu recherche un mot dans une phrase il faut modifier au niveau de find

    a la place de

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Set c = .Find(x, LookIn:=xlValues, LookAt:=xlWhole)

Discussions similaires

  1. [Info]moteur de recherche full text en environnement j2ee
    Par ddams dans le forum API standards et tierces
    Réponses: 4
    Dernier message: 03/11/2004, 19h39
  2. comment faire ma base de donnée pour un moteur de recherche
    Par HoB dans le forum Décisions SGBD
    Réponses: 2
    Dernier message: 04/05/2004, 15h07
  3. Moteur de recherche par date
    Par Prue dans le forum ASP
    Réponses: 17
    Dernier message: 27/08/2003, 16h07
  4. [Technique] Index, comment font les moteurs de recherche ?
    Par bat dans le forum Décisions SGBD
    Réponses: 4
    Dernier message: 25/10/2002, 15h41

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