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 -
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
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:
- Macro de recherche dans une base de données
- Fuite données maif - Guide
- Base de registre - Guide
- Telecharger macro convertir chiffre en lettre excel - Télécharger - Tableur
- Recherche automatique des chaînes ne fonctionne pas - Guide
- Supprimer les données de navigation - Guide
4 réponses
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
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
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