"Moteur de recherche" feuille excel
Arnaud13011
Messages postés
18
Statut
Membre
-
f894009 Messages postés 17417 Date d'inscription Statut Membre Dernière intervention -
f894009 Messages postés 17417 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
Je gère une BD de produits alimentaires avec plusieurs fournisseurs et j'aimerai créer un "moteur de recherche" sur le première ligne qui filtrerait fur à mesure les lignes en fonction du mot saisi.
Merci de votre aide
Je gère une BD de produits alimentaires avec plusieurs fournisseurs et j'aimerai créer un "moteur de recherche" sur le première ligne qui filtrerait fur à mesure les lignes en fonction du mot saisi.
Merci de votre aide
A voir également:
- "Moteur de recherche" feuille excel
- Liste déroulante excel - Guide
- Feuille de pointage excel - Télécharger - Tableur
- Word et excel gratuit - Guide
- Recherche automatique des chaînes ne fonctionne pas - Guide
- Verrouiller cellule excel sans verrouiller la feuille - Guide
7 réponses
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Bonjour,
qui filtrerait fur à mesure les lignes en fonction du mot saisi. Ce mot serait celui de quelle colonne?????
Avec un filtre tout simple cela vous irait ?????
qui filtrerait fur à mesure les lignes en fonction du mot saisi. Ce mot serait celui de quelle colonne?????
Avec un filtre tout simple cela vous irait ?????
Bonjour,
ça serait concernant la colonne C. Un simple filtre serait un peu contraignant sachant, il y aura plus de 500 lignes. J'ai vu sur certains forums et ça serait un peu mon besoin mais que sur la colonne C. Le problème est que je suis totalement novice en macro
https://openclassrooms.com/forum/sujet/excel-vba-moteur-de-recherche-filtrant
ça serait concernant la colonne C. Un simple filtre serait un peu contraignant sachant, il y aura plus de 500 lignes. J'ai vu sur certains forums et ça serait un peu mon besoin mais que sur la colonne C. Le problème est que je suis totalement novice en macro
https://openclassrooms.com/forum/sujet/excel-vba-moteur-de-recherche-filtrant
Bonjour Arnaud13011,
J'étais moi aussi un novice en VBA il y a de ça 2 semaines, mais à force de recherche et de codage je commence à me débrouiller légèrement ;-)
Bref voici une macro qui sert à trouver le premier nom du fournisseur rechercher.
_____
Sub chercherFournisseur()
'Déclaration des variables
Dim strName As String
Sheets("Feuil1").Activate
'MSGBOX POUR DEMANDER LE FOURNISSEUR A RECHERCHER
strName = InputBox(Prompt:="Entrez le nom du fournisseur:", _
Title:="RECHERCHE D'UN FOURNISSEUR PAR NOM", Default:="nom")
If strName = "nom" Or _
strName = vbNullString Then
Exit Sub
Else
'RECHERCHE DU NOM DU FOURNISSEUR
Application.ScreenUpdating = False ' pour aller plus vite
Set ma_feuille = ThisWorkbook.Sheets("feuil1")
col_no = 1 ' pour la colonne A (A = 1)
lg_no = 1 ' 1 pour à partir de la première ligne
flag_trouve = False
Do While Not IsEmpty(ma_feuille.Cells(lg_no, col_no))
If (ma_feuille.Cells(lg_no, col_no).Value = strName) Then
ma_feuille.Rows(lg_no).Select
flag_trouve = True
Exit Do
End If
lg_no = lg_no + 1
Loop
If (flag_trouve = False) Then
MsgBox ("Nom du fournisseur " & strName & " non trouvé !")
End If
Application.ScreenUpdating = True ' Remet le comportement initial
End If
End Sub
_____
Malheureusement lorsque le nom du premier fournisseur est trouvé, la macro va sélectionner toute ta ligne de donnée ou son nom se trouve mais ne continue à chercher plus loin dans ta colonne les autres apparitions de ton fournisseur.
Ce que tu peux faire, c'est trier ton tableau avec les filtres avant d'utiliser la macro pour arriver à la bonne place. Ou utiliser un tableau croiser dynamique qui serait dans ton cas intéressant.
Ps : j'utilise des filtres sur plus de 100'000 lignes et...ca fonctionne très bien :-D
J'étais moi aussi un novice en VBA il y a de ça 2 semaines, mais à force de recherche et de codage je commence à me débrouiller légèrement ;-)
Bref voici une macro qui sert à trouver le premier nom du fournisseur rechercher.
_____
Sub chercherFournisseur()
'Déclaration des variables
Dim strName As String
Sheets("Feuil1").Activate
'MSGBOX POUR DEMANDER LE FOURNISSEUR A RECHERCHER
strName = InputBox(Prompt:="Entrez le nom du fournisseur:", _
Title:="RECHERCHE D'UN FOURNISSEUR PAR NOM", Default:="nom")
If strName = "nom" Or _
strName = vbNullString Then
Exit Sub
Else
'RECHERCHE DU NOM DU FOURNISSEUR
Application.ScreenUpdating = False ' pour aller plus vite
Set ma_feuille = ThisWorkbook.Sheets("feuil1")
col_no = 1 ' pour la colonne A (A = 1)
lg_no = 1 ' 1 pour à partir de la première ligne
flag_trouve = False
Do While Not IsEmpty(ma_feuille.Cells(lg_no, col_no))
If (ma_feuille.Cells(lg_no, col_no).Value = strName) Then
ma_feuille.Rows(lg_no).Select
flag_trouve = True
Exit Do
End If
lg_no = lg_no + 1
Loop
If (flag_trouve = False) Then
MsgBox ("Nom du fournisseur " & strName & " non trouvé !")
End If
Application.ScreenUpdating = True ' Remet le comportement initial
End If
End Sub
_____
Malheureusement lorsque le nom du premier fournisseur est trouvé, la macro va sélectionner toute ta ligne de donnée ou son nom se trouve mais ne continue à chercher plus loin dans ta colonne les autres apparitions de ton fournisseur.
Ce que tu peux faire, c'est trier ton tableau avec les filtres avant d'utiliser la macro pour arriver à la bonne place. Ou utiliser un tableau croiser dynamique qui serait dans ton cas intéressant.
Ps : j'utilise des filtres sur plus de 100'000 lignes et...ca fonctionne très bien :-D