Macro de recherche dans une base de données
Résolu/Fermé
nihcoc
Messages postés
192
Date d'inscription
dimanche 9 mars 2014
Statut
Membre
Dernière intervention
28 février 2023
-
Modifié le 1 févr. 2018 à 10:51
nihcoc Messages postés 192 Date d'inscription dimanche 9 mars 2014 Statut Membre Dernière intervention 28 février 2023 - 2 févr. 2018 à 23:51
nihcoc Messages postés 192 Date d'inscription dimanche 9 mars 2014 Statut Membre Dernière intervention 28 février 2023 - 2 févr. 2018 à 23:51
A voir également:
- Macro de recherche dans une base de données
- Recherche musique - Guide
- Formules excel de base - Guide
- Recherche par image - Guide
- Macro logiciel - Télécharger - Organisation
- Consultez le code source de cette page. copiez la ligne indiquant aux moteurs de recherche de ne pas référencer la page. ✓ - Forum Référencement
4 réponses
julia Namor
Messages postés
503
Date d'inscription
jeudi 27 mars 2014
Statut
Membre
Dernière intervention
18 janvier 2023
33
1 févr. 2018 à 23:20
1 févr. 2018 à 23:20
Bonsoir
ceci devrait faire l'affaire.
remplace ton code par celui ci
bien cordialement
ceci devrait faire l'affaire.
remplace ton code par celui ci
Sub recherche()
Dim cell As Range
Application.ScreenUpdating = False
marecherche = InputBox("Saisir la ou les premières lettres du mot ", "Recherche de mot (s) ")
If marecherche = "" Then Exit Sub
DL = ActiveSheet.Range("B" & Rows.Count).End(xlUp).Row
For Each cell In ActiveSheet.Range("B4:B" & DL)
If cell.Value = marecherche Then
cell.Value = "*" & marecherche & "*"
End If
Next
Set resultat = ActiveSheet.Range("B4:B" & DL).Find(what:="*" & marecherche & "*", Lookat:=xlWhole)
Range("b4").Select
Selection.AutoFilter
Selection.AutoFilter Field:=2, Criteria1:="*" & marecherche & "*", Operator:=xlAnd
Application.ScreenUpdating = True
End Sub
bien cordialement
nihcoc
Messages postés
192
Date d'inscription
dimanche 9 mars 2014
Statut
Membre
Dernière intervention
28 février 2023
5
2 févr. 2018 à 06:14
2 févr. 2018 à 06:14
Je vous remercie beaucoup pour votre réponse, c'est excellent .
par contre j'avais une 2ème question .
jusqu'ici j'enlevais le filtrage automatique avec cette macro qui marche bien,mais pour des listes très longues cela prend du temps .
Sub Macro2()
Selection.AutoFilter Field:=1
Selection.AutoFilter Field:=2
Selection.AutoFilter Field:=3
Selection.AutoFilter Field:=4
Selection.AutoFilter Field:=5
End Sub
dans le forum , j'ai trouvé cette macro ci-dessous qui est beaucoup plus rapide ,par contre elle supprime le carrément le filtrage automatique.
Sub rétablir()
On Error GoTo finerreur
Selection.AutoFilter
GoTo fin
finerreur:
fin:
End Sub
Y aurait-il un moyen d'y remédier ?
Merci d'avance
par contre j'avais une 2ème question .
jusqu'ici j'enlevais le filtrage automatique avec cette macro qui marche bien,mais pour des listes très longues cela prend du temps .
Sub Macro2()
Selection.AutoFilter Field:=1
Selection.AutoFilter Field:=2
Selection.AutoFilter Field:=3
Selection.AutoFilter Field:=4
Selection.AutoFilter Field:=5
End Sub
dans le forum , j'ai trouvé cette macro ci-dessous qui est beaucoup plus rapide ,par contre elle supprime le carrément le filtrage automatique.
Sub rétablir()
On Error GoTo finerreur
Selection.AutoFilter
GoTo fin
finerreur:
fin:
End Sub
Y aurait-il un moyen d'y remédier ?
Merci d'avance
julia Namor
Messages postés
503
Date d'inscription
jeudi 27 mars 2014
Statut
Membre
Dernière intervention
18 janvier 2023
33
2 févr. 2018 à 20:41
2 févr. 2018 à 20:41
bonjour
j'avoue que j'ai beau retourner votre question dans tous les sens , je ne comprends pas .
pour moi votre macro fait le job
dit m'en plus
j'avoue que j'ai beau retourner votre question dans tous les sens , je ne comprends pas .
pour moi votre macro fait le job
Sub rétablir()
dit m'en plus
nihcoc
Messages postés
192
Date d'inscription
dimanche 9 mars 2014
Statut
Membre
Dernière intervention
28 février 2023
5
2 févr. 2018 à 21:07
2 févr. 2018 à 21:07
Bonsoir
Simplement j'ai un classeur avec de nombreuses lignes (30000) ,ou j'utilise la macro(2) qui me sert a enlever le filtrage ,qui marche ,mais qui est très longue.
j'aurais aimé utiliser a la place la macro (retablir), qui marche très bien mais qui supprime le filtre automatique. (que j'utilise d'ailleur très souvent)
question serait-il possible de faire la même macro , sans supprimer le filtre automatique ,juste rétablir la feuille comme a l'origine.
j'espère avoir été clair!
Merci a vous
Simplement j'ai un classeur avec de nombreuses lignes (30000) ,ou j'utilise la macro(2) qui me sert a enlever le filtrage ,qui marche ,mais qui est très longue.
j'aurais aimé utiliser a la place la macro (retablir), qui marche très bien mais qui supprime le filtre automatique. (que j'utilise d'ailleur très souvent)
question serait-il possible de faire la même macro , sans supprimer le filtre automatique ,juste rétablir la feuille comme a l'origine.
j'espère avoir été clair!
Merci a vous
julia Namor
Messages postés
503
Date d'inscription
jeudi 27 mars 2014
Statut
Membre
Dernière intervention
18 janvier 2023
33
2 févr. 2018 à 22:28
2 févr. 2018 à 22:28
fichier modifié
A tester
https://cjoint.com/c/HBcvzfgcmti
cordialement
A tester
https://cjoint.com/c/HBcvzfgcmti
cordialement
eriiic
Messages postés
24519
Date d'inscription
mardi 11 septembre 2007
Statut
Contributeur
Dernière intervention
10 septembre 2023
7 184
Modifié le 2 févr. 2018 à 22:55
Modifié le 2 févr. 2018 à 22:55
Bonjour,
remet-le dans la foulée :
eric
En essayant continuellement, on finit par réussir.
Donc plus ça rate, plus on a de chances que ça marche.(les Shadoks)
En plus du merci (si si, ça se fait !!!), penser à mettre en résolu. Merci
remet-le dans la foulée :
Sub retablir() [A1].AutoFilter [A1].AutoFilter End Sub
eric
En essayant continuellement, on finit par réussir.
Donc plus ça rate, plus on a de chances que ça marche.(les Shadoks)
En plus du merci (si si, ça se fait !!!), penser à mettre en résolu. Merci
nihcoc
Messages postés
192
Date d'inscription
dimanche 9 mars 2014
Statut
Membre
Dernière intervention
28 février 2023
5
2 févr. 2018 à 23:51
2 févr. 2018 à 23:51
Merci pour tout