"Moteur de recherche" feuille excel
Fermé
Arnaud13011
Messages postés
18
Date d'inscription
vendredi 24 mai 2013
Statut
Membre
Dernière intervention
25 février 2015
-
31 mai 2013 à 14:34
f894009 Messages postés 17206 Date d'inscription dimanche 25 novembre 2007 Statut Membre Dernière intervention 22 novembre 2024 - 3 juin 2013 à 13:31
f894009 Messages postés 17206 Date d'inscription dimanche 25 novembre 2007 Statut Membre Dernière intervention 22 novembre 2024 - 3 juin 2013 à 13:31
A voir également:
- "Moteur de recherche" feuille excel
- Feuille de pointage excel - Télécharger - Tableur
- Liste déroulante excel - Guide
- Si et excel - Guide
- Recherche automatique des chaînes ne fonctionne pas - Guide
- Aller à la ligne excel - Guide
7 réponses
eriiic
Messages postés
24603
Date d'inscription
mardi 11 septembre 2007
Statut
Contributeur
Dernière intervention
15 décembre 2024
7 247
3 juin 2013 à 11:14
3 juin 2013 à 11:14
Bonjour,
un exemple : https://www.cjoint.com/c/CFdloocCyY2
eric
un exemple : https://www.cjoint.com/c/CFdloocCyY2
eric
f894009
Messages postés
17206
Date d'inscription
dimanche 25 novembre 2007
Statut
Membre
Dernière intervention
22 novembre 2024
1 711
3 juin 2013 à 13:31
3 juin 2013 à 13:31
Bonjour,
un exemple de code de Michel_m de CCM:
https://www.cjoint.com/c/CFdnEViUfqI
Bonne suite
un exemple de code de Michel_m de CCM:
https://www.cjoint.com/c/CFdnEViUfqI
Bonne suite
Arnaud13011
Messages postés
18
Date d'inscription
vendredi 24 mai 2013
Statut
Membre
Dernière intervention
25 février 2015
31 mai 2013 à 14:36
31 mai 2013 à 14:36
Le fichier en question
https://mon-partage.fr/f/aZMrGHeL/
https://mon-partage.fr/f/aZMrGHeL/
Arnaud13011
Messages postés
18
Date d'inscription
vendredi 24 mai 2013
Statut
Membre
Dernière intervention
25 février 2015
3 juin 2013 à 09:24
3 juin 2013 à 09:24
Help me please
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
f894009
Messages postés
17206
Date d'inscription
dimanche 25 novembre 2007
Statut
Membre
Dernière intervention
22 novembre 2024
1 711
3 juin 2013 à 09:42
3 juin 2013 à 09:42
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 ?????
Arnaud13011
Messages postés
18
Date d'inscription
vendredi 24 mai 2013
Statut
Membre
Dernière intervention
25 février 2015
3 juin 2013 à 09:47
3 juin 2013 à 09:47
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
rEVOLV3r
Messages postés
223
Date d'inscription
jeudi 12 août 2010
Statut
Membre
Dernière intervention
21 septembre 2022
28
3 juin 2013 à 13:16
3 juin 2013 à 13:16
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