Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

Moteur de recherche par USF

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

chaelie2015

XLDnaute Accro
Bonsoir Forum
je cherche a créer un moteur de recherche ;
1. dans le combobx1 : il affiche les item du tableau et dans le TextBox10 je saisie Mot clé a rechercher ensuite afficher les résultats au dessous dans USF
salutations
 

Pièces jointes

Dernière édition:
Bonsoir charlie2015,

Les items ? Quels items ? Et ils vont servir à quoi ?

Bonne nuit.
Bonsoir Job
Nbre.ExpéditeurObjet du courrier de l'expéditeurPièce JointeDate d'arrivée à KDTRéférence du KDTAffecté à KDT-TDate d'enregistrementNuméro d'enregistrement
l’entête du tableau de la feuille BdD Recherche
après si je sélectionne pièce jointe dans ComboBox1 et je saisie dans le TextBox10 : oui
il s'affiche toutes les ligne qu'ils ont dans dans la colonne Pièce joint OUI
 
Maintenant utiliser un UserForm n'est pas indispensable, perso je préfère filtrer directement la feuille.

Voyez ce fichier (2) et ce code :
VB:
Private Sub ComboBox1_GotFocus()
Dim a(1 To 9), i%
For i = 1 To UBound(a): a(i) = Cells(3, i): Next
ComboBox1.List = a
End Sub

Private Sub ComboBox1_Change()
TextBox1_Change
End Sub

Private Sub TextBox1_Change()
Application.ScreenUpdating = False
If FilterMode Then ShowAllData 'RAZ
If ComboBox1.ListIndex = -1 Then Exit Sub
Dim col%, f$
col = ComboBox1.ListIndex + 1
Select Case col
    Case 1: f = "=ISNUMBER(SEARCH(""" & TextBox1 & """,TEXT(EXP(LN(RC1)),""000"")))"
    Case 5: f = "=ISNUMBER(SEARCH(""" & TextBox1 & """,TEXT(EXP(LN(RC5)),""jjj/jj/mmm/aaaa"")))"
    Case 8: f = "=ISNUMBER(SEARCH(""" & TextBox1 & """,TEXT(EXP(LN(RC8)),""jjj/jj/mmm/aaaa"")))"
    Case Else: f = "=ISNUMBER(SEARCH(""" & TextBox1 & """,RC" & col & "))"
End Select
[K4].FormulaR1C1 = f 'critère
[A3:I60003].AdvancedFilter xlFilterInPlace, [K3:K4] 'filtre avancé, plage modifiable
End Sub
 

Pièces jointes

Dernière édition:
J'ai testé en filtrant un tableau de 60 000 lignes (recherche sur une colonne de dates) :

- fichier (1) ou (1 bis) avec UserForm => 0,4 à 0,8 seconde

- fichier (2) sans UserForm => 16 secondes, c'est le ShowAllData qui prend du temps.
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Réponses
18
Affichages
461
Réponses
17
Affichages
627
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…