Boite de Recherche avec lien

Bonjour a tous,

Je cherche une aide pour créer une sorte de "moteur de recherche" sur mon classeur Excel.

Ce classeur est composé de plusieurs feuilles pour différentes choses, mais dont la colonne A est toujours celle dans laquelle le moteur doit chercher.

Sur ces feuilles il peut y avoir le même mot a rechercher, mais qui ne correspond pas aux même choses.

Donc, dans l'idée, j'aimerais me faire un bouton Rechercher, qui ouvre une "boite de dialogue" (je sais pas si c'est comme cela que ca s'appel), dans laquelle je peux noter une recherche, et qui afficherait au fur et a mesure les réponses.

Une fois que les réponses sont suffisamment affinées, que je puisse cliquer sur l'une et que cela m'envois directement sur la feuille et la ligne correspondante.

Merci d'avance a ceux qui me lirons et pourrons m'aider.

Salut,

Un fichier d'exemple serait le bienvenue, met des données fictives dedans mais que ca reprennent exactement la mise en forme du fichier final

Ce sera beaucoup plus simple de t'aider.

Voila un extrait du dossier, rien de secret dans celui ci.

Apres réflexion, je me dis que pouvoir "sélectionner" les feuilles dans laquelle la recherche doit s'effectuer, serait indispensable, car je viens de voir que certaines feuilles (peu nombreuses) sont différentes.

Dans le dossier d'exemple, il n'y a que des feuilles "type" dans l'original, elles sont très nombreuses.

Merci d'avance

14classeur1.xlsm (57.41 Ko)

Salut, que penses tu de ça ?

22recherche-1.xlsm (63.17 Ko)

Merci Gabin 37,

Est il possible, plutôt que d'être envoyé de résultat en résultats, d'avoir les résultats dans une liste, avec le mot complet et sa feuille, pour ensuite "cliquer" dessus pour arriver sur la cible?

En effet, j'ai peur qu'autrement, cela puisse devenir "lourd" s'il y a beaucoup de réponses.;

J'imaginais, une recherche qui liste au fur et a mesure des lettres tapées les résultats dans un "cadre", un peu comme une recherche Google avec la liste sous la barre de recherche.

Je ne sais pas si c'est faisable ou si cela est trop compliqué.

Bonjour,

Je n'ai pas dis, mais si vous avez une autre solution plus simple, je suis d'accord.

Salut, désolé du retour tardif. Je vois ce que tu veux faire ca me semble faisable mais j'ai pas bcp de temps en ce moment.

J'essayerai de faire ca cette semaine ! (j'espère ne pas oublier ^^)

Bonjour,

Je comprend tout à fait que tu ne sois pas disponible que pour mon petit problème à moi.

C'est déjà très sympa de m'aider.

Hey !!!! Salut

Avec un demi-mois de retard je présente une V2 qui correspond à t'as demande.

Je suis vraiment désolé du temps que j'ai pris à faire ça j'étais hyper occupé. Je suis très content du résultat tu verras.

Astuce: Tu peux directement double_clique sur un résultat de recherche pour que ca t'emmenes sur la bonne feuille et la bonne ligne correspondant !

Joyeuses Fêtes

15recherche-v2.xlsm (70.00 Ko)

Bonjour,

Merci beaucoup pour ton aide.

C'est exactement ce qu'il me fallait.

J'ai juste un un problème, quand je copie les 2 macros dans mon fichier original, il ne "fonctionne" plus.

Erreur de compilation variable non défini.

Sub Recherche() ici il me surligne en jaune
Dim mot_clef As String
mot_clef = Cells(4, 2)
Rows("6:65536").EntireRow.Delete
mot_clef = UCase(Cells(4, 2))
Dim solution As Boolean
Dim La_Feuille As String
Dim La_Ligne As Integer
Dim Le_Resultat As String
Dim K As Long
K = 6
solution = False
Dim Feuille As Worksheet
Dim Feuille_Sommaire As String
Feuille_Sommaire = Application.ActiveSheet.name
If mot_clef = "" Then
GoTo Rien
End If
For Each Feuille In Worksheets
If Feuille.name = Feuille_Sommaire Then
Else
Feuille.Activate
For n = 1 To 5 La il me sélectionne le n
If InStr(1, UCase(Cells(n, 1)), mot_clef) > 0 Then
solution = True
Le_Resultat = Cells(n, 1)
La_Ligne = n
La_Feuille = Feuille.name
Sheets(Feuille_Sommaire).Activate
Cells(K, 2) = Le_Resultat
Cells(K, 3) = La_Feuille
Cells(K, 4) = La_Ligne
K = K + 1
Feuille.Activate
End If
Next n
End If
Next Feuille
Rien:
If solution = False Then
Sheets(Feuille_Sommaire).Activate
Cells(K, 2) = "Aucun résultat"
End If
Sheets(Feuille_Sommaire).Activate
End Sub

J'ai certainement oublié quelque chose, mais je ne sais pas quoi.

Peux tu m'éclairer?

Salut,

La je calle...

Si ton Excel n'est pas privée tu peux nous l'envoyer ? ou à minima me l'envoyer en MP ?

SI tu a copier collé le programme, tu as veillé à également faire une copie exacte de la feuille "Recherche" ? car le programme se base sur cette feuille pour réaliser les recherches.

De plus il y a deux programmes dans la feuille "Recherche" n'oublie pas de les copiers collers également.

capture

A+

EDIT !!


J'ai peut être trouvé au début du programme "Recherche" écrit:


Dim n As Integer

Ton VBA est peut etre en mode "éxiger la déclaration des variables" ca doit être ça le problème !

Bonsoir,

Merci de ta réponse.

Visiblement, l'option d'obligation n'est pas cochée.

Je ne parviens pas a placer le dossier original (66mo)

Salut Ced GUI,

Envoi ton Excel si possible ce sera bcp plus simple pour t'aider.

Tu peux me l'envoye en MP si il contient des données privée.

Bonjour,

Ci joint le dossier Ultra allégé, au vu de la limitation drastique du site ;)

Merci d'avance

Re,

Bon, chez moi non plus ca ne marche pas je ne comprend pas trop.. Tu as quoi comme messagee d'erreur ? Toujours la meme chose avec variable non défini ?

Moi il me dit Erreur de compilation : projet ou bibliothèque introuvable

Essaye dans ton Classeur complet cette manip:

Outils > Références dans l'éditeur VBA > et décocher les références manquantes et/ou les remplacer par les versions disponibles.

Si ca ne marche pas, je crois qu'on a besoin de l'aide de personnes plus expérimentés
Rechercher des sujets similaires à "boite recherche lien"