XL 2021 Aide pour recherche intuitive

jeff1494

XLDnaute Occasionnel
Bonsoir à toutes et tous;
Je rencontre des problèmes pour établir une recherche intuitive sur une ListBox.

Continuant sur la lancée d'un de mes précédents messages concernant la liste des propriétés de fichier (Commentaires, mots-clés et catégories) je dois résoudre un problème qui est que plusieurs types de fichiers n'ont pas ces propriétés. Cela m'ennuie car je me suis organisé pour gérer ces 3 données pour me faire une base de connaissances me permettant de trouver les fichiers ayant une concordance avec une des 3 propriétés.

En pièce jointe vous avez un exemple de mon fichier.

Alors vous verrez que j'ai un contrôle multi-page, qui peut sembler ne rien avoir à faire là, mais je ne connais pas ce type de contrôle, donc c'est pour moi une occasion d'apprendre.

Dans la feuille "Liste" j'ai une liste de fichiers avec des infos pour chaque fichier.
Sur la feuille "Accueil" j'ai posé un bouton pour tester le formulaire avec la recherche intuitive.
L'affichage du UserForm se déroule bien, sauf les problèmes suivants :

1) J'ai prévu dans la ListBox d'avoir 3 colonnes : Nom du fichier, taille du fichier et son extension. J'ai pris la taille car je ne sais pas comment sélectionner des colonnes qui ne seraient pas consécutives. Dans l'idéal je n'ai besoin que du nom du fichier, et de son extension. Alors je pourrais bien sûr revoir mon fichier d'origine, mais j'aimerai bien éviter cela.

2) J'utilise un tableau pour charger la ListBox, mais j'ai des lignes qui ne contiennent pas de fichiers, mais le nom du dossier où ils sont localisés, et je n'en ai pas besoin. Mais je ne sais pas comment faire pour ne pas les prendre en compte.

Le problème suivant est que la recherche intuitive ne fonctionne pas.

Donc si une âme charitable pouvait me donner un coup de main, ce n'est pas de refus.
En attendant je vous souhaite une bonne soirée.
 

Pièces jointes

  • Essai multipage.xlsm
    113.9 KB · Affichages: 13

jeff1494

XLDnaute Occasionnel
Bonjour à toutes et tous;
Et voilà je reviens vers vous car j'ai progressé d'un coté et reculer d'un autre.

Grâce aux conseils de @Oneida , j'ai réussi à charger faire fonctionner la recherche intuitive. Ensuite j'ai continué d'avancer en chargeant dans les pages du multi-page les données dont j'ai besoin.
Mais, le problème est que la recherche intuitive ne fonctionne plus.
Bien sûr j'ai du faire une bêtise, mais laquelle?

Je ne sais pas comment me sortir de ce mauvais pas.
Donc si quelqu'un pouvait me dire ce qu'il se passe, ben je suis preneur.
En attendant je vous souhaite à toutes et tous une bonne journée.
 

Pièces jointes

  • Essai multipage-4.xlsm
    121.2 KB · Affichages: 5

Oneida

XLDnaute Impliqué
Bonjour à toutes et tous;
Et voilà je reviens vers vous car j'ai progressé d'un coté et reculer d'un autre.

Grâce aux conseils de @Oneida , j'ai réussi à charger faire fonctionner la recherche intuitive. Ensuite j'ai continué d'avancer en chargeant dans les pages du multi-page les données dont j'ai besoin.
Mais, le problème est que la recherche intuitive ne fonctionne plus.
Bien sûr j'ai du faire une bêtise, mais laquelle?

Je ne sais pas comment me sortir de ce mauvais pas.
Donc si quelqu'un pouvait me dire ce qu'il se passe, ben je suis preneur.
En attendant je vous souhaite à toutes et tous une bonne journée.
Bonjour,

Ligne mot a modifier.Je vous avais parle des espaces devant les noms de fichier.
dans le code suivant, il y avait ceci:

Code:
    mot = "  " & Me.TB_Ficrech & "*"
pour palier a ces espaces

mieux comme ceci
VB:
Private Sub TB_Ficrech_Change()
    Application.EnableEvents = False
    mot = Me.TB_Ficrech & "*"
 

jeff1494

XLDnaute Occasionnel
@Oneida ;
Bien sûr, pourquoi n'y ais-je pas pensé.
J'ai viré les espaces en tête du nom, mais je n'ai pas répercuté cela sur la recherche.
Comme quoi quand on est C*N l'age ne fait rien à l'affaire.
Encore un grand merci pour votre aide.
Je vous souhaite une bonne journée.
A+
 
Dernière édition:

patricktoulon

XLDnaute Barbatruc
pour commencer
travailler proprement l'edition d'une liste d'occurences
une listbox avec 1 item et 500 autres vides c'est pas top
l'event du textbox
VB:
Private Sub TB_Ficrech_Change()
    Application.EnableEvents = False
    mot = Me.TB_Ficrech & "*"
    Counter = 0
    ReDim TabRech(1 To NbCol, 1 To 1)
    For Lig = 1 To NbLignes
        If UCase(Tableau(Lig, 1)) Like UCase(mot) Then
            Counter = Counter + 1
            ReDim Preserve TabRech(1 To NbCol, 1 To Counter)
            TabRech(1, Counter) = Tableau(Lig, 1)
            TabRech(2, Counter) = Tableau(Lig, 3)
        End If
    Next
    If Counter > 0 Then
        If Counter > 1 Then
            LB_Fic.List = Application.Transpose(TabRech)
        Else
            LB_Fic.Column = Application.Transpose(TabRech)
        End If
    End If
End Sub
le résultat est plus propre
demo1.gif


edit après bien évidemment il faut savoir ce que l'on cherche commence par / contient / termine par
 

cathodique

XLDnaute Barbatruc
pour commencer
travailler proprement l'edition d'une liste d'occurences
une listbox avec 1 item et 500 autres vides c'est pas top
l'event du textbox
VB:
Private Sub TB_Ficrech_Change()
    Application.EnableEvents = False
    mot = Me.TB_Ficrech & "*"
    Counter = 0
    ReDim TabRech(1 To NbCol, 1 To 1)
    For Lig = 1 To NbLignes
        If UCase(Tableau(Lig, 1)) Like UCase(mot) Then
            Counter = Counter + 1
            ReDim Preserve TabRech(1 To NbCol, 1 To Counter)
            TabRech(1, Counter) = Tableau(Lig, 1)
            TabRech(2, Counter) = Tableau(Lig, 3)
        End If
    Next
    If Counter > 0 Then
        If Counter > 1 Then
            LB_Fic.List = Application.Transpose(TabRech)
        Else
            LB_Fic.Column = Application.Transpose(TabRech)
        End If
    End If
End Sub
le résultat est plus propre
Regarde la pièce jointe 1205876

edit après bien évidemment il faut savoir ce que l'on cherche commence par / contient / termine par
Si j'ai bien suivi et compris @jeff1494 ne voulait pas afficher dans la listbox les lignes qui commencent par: DOSSIER: D:\
 

patricktoulon

XLDnaute Barbatruc
allez on pousse un peu
  1. commence par
  2. contient
  3. termine par
demo1.gif

voila c'est déjà plus complet comme moteur de recherche ;)
tu clic sur les tbxavant et ou après pour ajouter les jockers
et tu tape le tbxapres jocker par défaut a l'affichage de l'userform

ps:
pour l'item dossier
pourquoi l'avoir pris dans la variable tableau alors
 

Pièces jointes

  • Essai multipage-4.xlsm
    104.7 KB · Affichages: 5

jeff1494

XLDnaute Occasionnel
Bonjour à toutes et tous;
Merci @cathodique pour son intérêt à mon problème.

Merci à @patricktoulon pour ton aide.

En fait j'ai créé ce fichier pour complémenter à terme celui que tu m'as déjà aidé à réaliser concernant l'extraction des propriétés de fichiers, et ne connaissant pas les contrôles multi-pages j'en profite pour apprendre.
Comme certains fichiers hors Office n'offrent pas la possibilité d'avoir certaines propriétés, je voudrais créer une sorte de base permettant de gérer les commentaires, mots-clés et catégories. Ce sont pour moi des moyens de gérer tous les fichiers et bouts de codes que j'entasse pèle-mêle au cours du temps.

Il est vrai que ma recherche n'était pas très précise. Mais quand je vois la solution proposée, je suis encore à des années lumières d'être capable de réfléchir à un code comme celui proposé.
Ce code va rejoindre mes archives.

Un grand merci à toi pour supporter mes élucubrations.
Bonne journée à tous et toutes.
 

Discussions similaires

Réponses
16
Affichages
728
  • Résolu(e)
Microsoft 365 requête Dossier
Réponses
6
Affichages
507

Statistiques des forums

Discussions
315 109
Messages
2 116 300
Membres
112 716
dernier inscrit
jean1234