XL 2013 Recherche par categorie

maval

XLDnaute Barbatruc
Bonjour

J'ai un formulaire pour une recherche par catégorie qui fonctionne très bien, j'aimerais lui apporter une modification.
Est-il possible dans un label, avoir le nombre de résultat trouver?

Je vous remercie d'avance
 

Pièces jointes

  • Classeur recherche.xlsm
    106.3 KB · Affichages: 88

Dranreb

XLDnaute Barbatruc
Re : Recherche par categorie

Ne serait ce pas plus simple d'avoir 6 ComboBox dédiés aux 6 colonnes et d'afficher le nombre de films correspondant à tous les seuls choix effectués dans certains d'entre eux ?
Je pourrais vous y ajouter des recherches intuitives sur les titres et une ComboBox supplémentaire pour un acteur.
 

phlaurent55

Nous a quittés en 2020
Repose en paix
Re : Recherche par categorie

Bonjour à tous,

il suffit d'ajouter:
Label4.Caption = ComboBox1.ListCount

juste avant End Sub de la procédure d’alimentation du combobox1

Code:
Sub AlimComboBox()
  col = Application.Match(titre, f.[A1:N1], 0)
  If IsError(col) Then Exit Sub
  Set mondico = CreateObject("Scripting.Dictionary")
  mondico.CompareMode = vbTextCompare
  a = Application.Transpose(f.Cells(2, col).Resize(f.Cells(65000, col).End(xlUp).Row).Value)
  For I = LBound(a) To UBound(a)
    If a(I) <> "" Then
       b = Split(a(I), ",")
       For j = LBound(b) To UBound(b)
         mondico(Trim(b(j))) = ""
       Next j
    End If
  Next I
  choix1 = mondico.keys
  Call Tri(choix1, LBound(choix1), UBound(choix1))
  Me.ComboBox1.ListIndex = -1
  Me.ComboBox1.List = choix1
  Me.ComboBox1.SetFocus
  Label4.Caption = ComboBox1.ListCount
End Sub


à+
Philippe
 

Dranreb

XLDnaute Barbatruc
Re : Recherche par categorie

Oui peut être, mais est-il possible dans un label, avoir le nombre de résultat trouver?
Oui, oui, tout à fait. C'est une information directement communiquée via une procédure évènement Change de l'UserForm, l'évènement étant décrété par mon objet ComboBoxLiées.
 
Dernière édition:

maval

XLDnaute Barbatruc
Re : Recherche par categorie

Salut Philippe

Non sa te donne le nombre total qui se trouve dans la combobox alors que moi je voudrais avoir le nombre trouver.
Ex: si je recherche dans acteur "John Wayne " il y doit avoir peut être 40 film avec john Wayne
si je recherche le nom d'un film il doit y avoir dans le label "1" ect..
 

Dranreb

XLDnaute Barbatruc
Re : Recherche par categorie

Voulez vous redessiner à votre goût l'UserForm selon ce principe, avant que je n'équipe votre classeur des modules de service nécessaires et de la programmation d'application qui va bien pour votre cas ?
Conseil: donnez des noms mnémoniques à vos contrôles commençant par CBx pour les ComboBox, Btn pour les CommandButton, ce sera plus simple pour s'y retrouver. Exemples: CBxTitreOr, CBxTitreFr
 

Dranreb

XLDnaute Barbatruc
Re : Recherche par categorie

Bonjour.

Ce n'est pas fait encore ?
Devrais-je le redessiner moi même ?
Il n'y aura qu'assez peu de programmation dans l'UserForm lui même.
Beaucoup moins que ce que vous aviez fait.
(D'accord, beaucoup plus ailleurs, mais performante et n'ayant pas à être retouchée même pour d'autres applications complètement différentes)
 

maval

XLDnaute Barbatruc
Re : Recherche par categorie

Bonsoir Dranreb,
Je suis en train de consulter le fichier que je trouve super et que je te remercie encore. Est-il possible d’apporter une modification dans le même esprit, bien sûr.
Je m’explique : lorsque je recherche un Genre, Nationalité ou un acteur ex : Alain Delon est-il possible d’avoir sur la feuille uniquement les films ou Alain Delon à jouer en rentrant le nom dans la combobox peut être et avec bouton ou autre pour la recherche.
Mais sinon le fichier Nickel je te remercie encore, bien sûr si possible?

Bonne soirée
 

Dranreb

XLDnaute Barbatruc
Re : Recherche par categorie

Oui c'est possible. Je n'ai pas cru utile de le reproduire parce qu'il m'a semblé que les titres proposés alors dans les ComboBox suffisaient.
Mais la Sub CL_Résultat réécrite comme ça le ferait :
VB:
Private Sub CL_Résultat(Lignes() As Long)
Dim N&
TLgn = Lignes
If UBound(TLgn) = 1 Then
   LabInfo.Caption = "Il y a ce film là."
   Me.TBxActeurs.Text = CL.PlgTablo.Cells(TLgn(1), "E").Value
Else
   Application.ScreenUpdating = False
   CL.PlgTablo.Rows.Hidden = True
   For N = 1 To UBound(TLgn)
      CL.PlgTablo.Rows(TLgn(N)).Hidden = False: Next N
   Application.ScreenUpdating = True: End If
End Sub
 

Discussions similaires

Statistiques des forums

Discussions
312 286
Messages
2 086 812
Membres
103 392
dernier inscrit
doc_banane