Moteur de recherche

Bonjour à tous,

Je souhaite créer un moteur de recherche par mot clé qui va afficher un résultat.

N'ayant aucune connaissance, j'ai regardé la page du site permettant de créer un champ de recherche :

https://www.blog-excel.com/creer-un-champ-de-recherche-vba/

Dans ce tuto, on recherche les mots clés dans la feuille d'un classeur, sauf que je souhaite que l'on recherche dans tous les fichiers *.xls du répertoire.

Option Compare Text

Private Sub TextBox1_Change() 'www.blog-excel.com/creer-un-champ-de-recherche-vba

    Application.ScreenUpdating = False

    Range("A2:A24").Interior.ColorIndex = 2 'Exemple 1 (feuille)
    ListBox1.Clear 'Exemple 2 (ListBox)

    If TextBox1 <> "" Then
        For ligne = 2 To 24
            If Cells(ligne, 1) Like "*" & TextBox1 & "*" Then
                Cells(ligne, 1).Interior.ColorIndex = 43 'Exemple 1 (feuille)
                ListBox1.AddItem Cells(ligne, 1) 'Exemple 2 (ListBox)
            End If
        Next
    End If

End Sub

Comment faire pour étendre la recherche sur tous les fichiers *.xls d'un répertoire plutôt que d'un classeur ?

Pourriez-vous m'aider ?

Merci à tous

Bonjour,

Le problème que tu veux poser n'a plus rien à voir avec le tuto que tu as pris en considération...

Le propre d'une recherche efficace est que la réponse soit immédiate ou quasi. Tu vises un dispositif où cela ne sera manifestement pas le cas !

Il convient donc de commencer la réflexion par la définition de ta base de recherche et son organisation, en prenant en compte les modalités possibles d'accès rapide pour chercher...

Si tu veux mettre d'emblée en place un système pour lequel Excel n'est pas spécialement adapté, il vaudrait mieux t'orienter vers des systèmes de gestion de bases de données, ou à vouloir utiliser Excel pour un usage comparable à te mettre en mesure de maîtriser les outils susceptibles de permettre tant bien que mal d'y parvenir (plus ou moins !), ce qui réclame un travail long et dense...

Je pense donc que le mieux est de faire en sorte que ce dans quoi tu veux chercher soit organisé de façon à rendre une recherche aisément possible, et rapide. Ce qui n'est déjà pas un mince travail.

Mais si tu persistes dans ton projet, bon courage !

Cordialement.

Bonjour MFerrand,

Merci pour votre retour.

J'ai intégré des données dans une autre feuilles du coup.

Sur le forum, j'ai trouvé un moteur de recherche qui correspond à mon besoin. Le hic, c'est que lorsque je recherche un mot clé, il m'affiche uniquement le mot et j'aimerai si possible afficher la ligne (cellule C à J).

Le fichier est composé de deux feuilles :

  • RECHERCHE : Où l'on saisie les recherches
  • Sheet1 : Où sont stockés toutes les données

La recherche s'effectue en fonction de la cellule A de la feuille "Sheet1".

Quand je fais une recherche, j'aimerai que la listbox m'affiche les résultats des colonnes C à J.

Est-ce que cette demande est réalisable ?

Option Compare Text

Private Sub ListBox1_DblClick(ByVal Cancel As msforms.ReturnBoolean)
    ' si on clic sur un item de la ListBox1 alors on active la cellule correspondante

    Sheets("Sheet1").Activate
    Worksheets("Sheet1").Cells(Tablo(ListBox1.ListIndex), 1).Activate
End Sub

Private Sub TextBox1_Change()
    ' on défini 3 variables
    Dim Ligne As Long, Cpt As Long
    Erase Tablo()
    Application.ScreenUpdating = False
    ListBox1.Clear
    Cpt = 0
    If TextBox1 <> "" Then
        With Sheets("Sheet1")

            For Ligne = 1 To .Range("A" & Rows.Count).End(xlUp).Row
                If .Cells(Ligne, 1) Like "*" & TextBox1 & "*" Then
                    ListBox1.AddItem .Cells(Ligne, 1).Value
                    ReDim Preserve Tablo(Cpt + 1)
                    Tablo(Cpt) = Ligne
                    Cpt = Cpt + 1
                End If
            Next
        End With
    End If
End Sub

Private Sub Worksheet_SelectionChange(ByVal Target As Range)

End Sub

Source : https://www.blog-excel.com/creer-un-champ-de-recherche-vba

Merci !

Rechercher des sujets similaires à "moteur recherche"