Recherche par mot clé
hantua
Messages postés
4
Statut
Membre
-
Hantua -
Hantua -
Bonjour,
J'ai créé un classeur sous excel. Ma première feuille est ma feuille de recherche qui comporte une cellule pour saisir le mot clé et un tableau où s'afficheront les résultats de ma recherche. Les autres feuilles sont une sorte de base de donnée où sont recensés plusieurs informations.
Est-ce possible, à partir du mot clé saisi dans ma feuille de recherche que la recherche s'effectue sur toutes les autres feuilles (= ma base de donnée, environ 20 feuilles) et que les résultats s'affichent dans mon tableau prévu dans ma feuille de recherche ?
Merci de ta réponse.
J'ai créé un classeur sous excel. Ma première feuille est ma feuille de recherche qui comporte une cellule pour saisir le mot clé et un tableau où s'afficheront les résultats de ma recherche. Les autres feuilles sont une sorte de base de donnée où sont recensés plusieurs informations.
Est-ce possible, à partir du mot clé saisi dans ma feuille de recherche que la recherche s'effectue sur toutes les autres feuilles (= ma base de donnée, environ 20 feuilles) et que les résultats s'affichent dans mon tableau prévu dans ma feuille de recherche ?
Merci de ta réponse.
A voir également:
- Recherche par mot clé
- Clé usb non détectée - Guide
- Clé windows 8 - Guide
- Clé usb - Accueil - Stockage
- Formater clé usb - Guide
- Trousseau mot de passe iphone - Guide
3 réponses
Bonjour,
si ça peut t'aider...
si ça peut t'aider...
Option Explicit
Sub Recherche()
Dim F1 As Worksheet ' feuille où il y a le mot clé
Dim F2 As Worksheet ' autres feuilles
Dim cle ' mot-clé
Dim k%
Const ColonneRecherche = 4 'si on recherche le mot cle dans la colonne 4 (D) des feuilles
Const ColonneResultat1 = 5
Const ColonneResultat2 = 6
Const ColonneMettreResultat1 = 2
Const ColonneMettreResultat2 = 3
Dim LigneResultat%
Dim Rng As Range
LigneResultat = 1 ' ligne où on mettra le 1er résultat
Set F1 = Worksheets("Feuil1") ' mettre le nom de la feuille contenant le mot-clé
cle = CStr(F1.Cells(3, 1)) ' coordonnées de la case contenant le mot-clé
For Each F2 In Worksheets ' recherche dans toutes les feuilles
If F2.Name <> F1.Name Then ' sauf la feuille du mot-clé
For k = F2.UsedRange.Row To F2.UsedRange.Row + F2.UsedRange.Rows.Count - 1 ' balayage des lignes
If CStr(F2.Cells(k, ColonneRecherche)) = cle Then ' youppie ! on en a un !
' recopier infos vers la 1ère page
F1.Cells(LigneResultat, ColonneMettreResultat1) = F2.Cells(k, ColonneResultat1)
F1.Cells(LigneResultat, ColonneMettreResultat2) = F2.Cells(k, ColonneResultat2)
LigneResultat = LigneResultat + 1 ' se préparer pour la ligne suivante dans la 1ère page
End If
Next k
End If
Next F2
End Sub
et avec la fonction .Find, .FindNext ???