Macro de recherche dans une base de données

Résolu
nihcoc Messages postés 193 Date d'inscription   Statut Membre Dernière intervention   -  
nihcoc Messages postés 193 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour,
J'aurais aimé que lorsque je fais une recherche via une boite de dialogue , j'ai automatiquement un astérique avant et après .
exemple: *cha*
et modification si possible d'une macro qui enlève le filtrage .
ci-joint un classeur.
https://cjoint.com/c/HBbjYRjYYIW

j'ai win 10
et excel 2000

Merci par avance



A voir également:

4 réponses

julia Namor Messages postés 524 Date d'inscription   Statut Membre Dernière intervention   33
 
Bonsoir
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
0
nihcoc Messages postés 193 Date d'inscription   Statut Membre Dernière intervention   5
 
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
0
julia Namor Messages postés 524 Date d'inscription   Statut Membre Dernière intervention   33
 
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
Sub rétablir() 

dit m'en plus
0
nihcoc Messages postés 193 Date d'inscription   Statut Membre Dernière intervention   5
 
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
0
julia Namor Messages postés 524 Date d'inscription   Statut Membre Dernière intervention   33
 
fichier modifié
A tester

https://cjoint.com/c/HBcvzfgcmti
cordialement
0
eriiic Messages postés 24603 Date d'inscription   Statut Contributeur Dernière intervention   7 276
 
Bonjour,

remet-le dans la foulée :
Sub retablir()
    [A1].AutoFilter
    [A1].AutoFilter
End Sub

eric


0
nihcoc Messages postés 193 Date d'inscription   Statut Membre Dernière intervention   5
 
Merci pour tout
0