Moteur de recherche et listing d'hyperlinks vers disque dur

Bonjour à vous,

je viens vers vous car je suis confronté à un problème qu'un novice comme moi ne peut résoudre seul. Ma situation est la suivante:

Dans le cadre de mon travail, je cherche actuellement à établir un moteur de recherche destiné à chercher (et trouver) l'emplacement de fichier et données sur un disque dur. Concrètement, je travaille à la restructuration du disque dur de mon département et je souhaiterais établir un outil Excel permettant à mes collègues (qui ne connaissent pas encore le nouvel emplacement des données) de rechercher le nom du fichier dans une base de données et ainsi obtenir en 4 clics le chemin pour y arriver.

Voir Feuille "2010" dans le fichier ci-joint: "Je cherche une "Gesprächnotiz" (col. A) et j'obtiens l'emplacement de ce fichier sur le disque dur (col. D)

J'ai donc établi la macro suivante mais PROBLEME, il existe plusieurs types de "Gesprächnotiz" et lorsque je fais la recherche, je ne peux voir dans mon "moteur de recherche" qu'une seule version.

Je voudrais pouvoir saisir les premières lettres "GES" et voir dans ma ListBox l'ensemble des "GESprächnotiz" présents dans ma base de données (ex: Gesprächnotiz Azubis / Gesprächnotiz Duali).

Je ne sais pas si j'ai été très clair, je pense que la macro parlera d'elle-même. Si vous avez d'autres questions, je suis dispo.

Merci de votre soutien, ça m'enlèverait une épine de baobab du pied.

(Je travaille en Allemagne, désolé pour le mot barbare de Gesprächnotiz )

Pour préciser mes pensées, je joins une capture d'écran de ce que j'aimerais bien réussir à mettre en place. Merci d'avance!

capture

Bonjour

Propriété MatchEntry de tes Combobox1 et 3 égale à fmMatchEntryNone

j'ai repris la macro Rech : Pas testé à fond

Option Compare Text
Public Trouv As String
Public Sh As Worksheet
'Public MyArray(0 To 20, 0 To 6)
Public Col As Byte

Sub Rech()
Dim MyArray()
Dim temp()
Dim I As Byte, X As Byte, Y As Byte, J As Byte

  I = 0
  With UserForm1.ListBox1
    .Clear
    .ColumnCount = 4
    .ColumnWidths = "100;90;80;460;"
  End With
  For Each Sh In Sheets
    With Sh
      If Col = 3 Then
        If IsDate(Trouv) Then
          Set C = .Columns(Col).Find(CDate(Trouv), LookIn:=xlValues, LookAt:=xlWhole)
        Else
          Set C = .Columns(Col).Find(Trouv, LookIn:=xlValues, LookAt:=xlPart)
        End If
      Else
        Set C = .Columns(Col).Find(Trouv, LookIn:=xlValues, LookAt:=xlPart)
      End If
      If Not C Is Nothing Then
        Premier = C.Address
        Do
          ReDim Preserve MyArray(0 To 6, 0 To I)
          For J = 1 To 6    ' Colonnes A à F ???????
            MyArray(J - 1, I) = .Cells(C.Row, J)
          Next J
          MyArray(6, I) = .Name
          I = I + 1
          Set C = .Columns(Col).FindNext(C)
        Loop While Not C Is Nothing And C.Address <> Premier
      End If
    End With
  Next Sh
  If I > 0 Then
    ReDim temp(0 To I, 6)
    For J = LBound(MyArray) To UBound(MyArray, 2)
      For I = 0 To 6
        temp(J, I) = MyArray(I, J)
      Next I
    Next J
    UserForm1.ListBox1.List() = temp
  End If
  Erase MyArray
End Sub

Merci beaucoup! C'est exactement ça ce à quoi je voulais arriver.

J'aurais une autre question. Mais bon, là c'est que du bonus si c'est possible!

Est-il possible d'établir dans la ComboBox des liens vers le disque dur? L'objectif serait de chercher un fichier, trouver son emplacement et de cliquer sur celui-ci pour pour l'atteindre directement?

Je joins le fichier avec la correction de Banzai64 et une image pour que vous puissiez visualiser ma question.

Merci beaucoup encore une fois


capture

Bonsoir

A tester

Tout simplement un grand merci pour ton aide Banzai64. Ca dépasse mes espérances. Si tu passes sur Hamburg, je te paie une bonne Heffeweizen et une currywurst!

Bonsoir

Merci de l'invitation

Bière et saucisses que demander de plus

Au plaisir

Mais avant de passer commande, il y a un problème sur le fichier, pour la recherche des dates, et je ne sais comment le résoudre

Si tu as une idée ?

Re-Bonjour à vous!

Je reviens vers vous car j'aimerais développer encore un peu plus la macro que j'avais postée il y a quelques jours et qui a été bougrement améliorée par Banzai64.

Mon objectif est de créer un outil permettant de trouver en très peu de clics les données recherchées sur l'ensemble du disque dur et de pouvoir, en un clic, ouvrir le fichier/ou donnée voulue.

Le modèle ci-joint permet déjà de le faire sauf qu'il s'agit au préalable de répertorier manuellement toutes les données ainsi que leur chemin d'accès sur le disque dur.

Ma question est la suivante: Serait-il possible d'ajouter à ce moteur de recherche un module permettant de répertorier l'ensemble des données du disque dur?

En effet, si un nouveau fichier est crée, il faudrait, actuellement, l'ajouter manuellement aux listes de données dans le fichier excel. Est-il possible que les données du disque dur soient automatiquement actualisées dans la base de données du fichier excel?

Je vous remercie d'avance pour votre aide. Si ca pouvait le faire, ce serait tout simplement génial!

Rechercher des sujets similaires à "moteur recherche listing hyperlinks disque dur"