XL 2016 Hepl Excel VBA

Acher12

XLDnaute Nouveau
Bonjour,
j'ai une base de données sous forme de chapitre A, B,.. et des sous chapitres A.1,A.2,B.3,... et des résultats.
je souhaite créer un formulaire de recherche mais un peu compliqué à mon niveau! pour mieux explique c'est comme le principe des filtres, qui affiche le résultats à chaque fois je sélectionne un élément.
je vous joins mon petit tableau avec toute information.
 

Pièces jointes

  • Test.xls
    2.9 MB · Affichages: 38

Dranreb

XLDnaute Barbatruc
Qu'est ce que vous n'avez pas compris ?
Alors appliquez le sans comprendre, qu'est ce que vous voulez que je vous dise…
Comment voulez vous qu'on sache à quelle ligne de la base correspond une ligne de la ListBox, si ce n'est pas noté quelque part ?
Ça plantait dans la Sub ListBox1_Click() parce que vous aviez décidé sans réfléchir de mettre dans ListBox1.Column(0, ListBox1.ListIndex) autre chose que le numéro de ligne dans CL.PlgTablo contrairement à ce que j'avais fait dans le code initial.
 
Dernière édition:

Dranreb

XLDnaute Barbatruc
Ça c'est autre chose, non ? C'est une recherche intuitive qu'il vous faudrait, ou une recherche par mots clés.
Il y a un modèle de procédure de recherche intuitive dans le guide de CBxL
Il serait aussi possible d'alimenter une ComboBox avec tous les mots trouvés dans les désignations d'une colonne.
Sinon vous devriez joindre un classeur pour que je voie votre problème, et faire des tests pour vous indiquer la meilleure solution.
 

Dranreb

XLDnaute Barbatruc
Pourquoi avez vous tout changé ?
Manque un CL.Actualiser après ajout d'une ligne.
Pourquoi ne versez vous pas vos contrôles dans VLgn et ensuite CL.Lignes.Add.Value = VLgn ?
Effectivement si vous ne suivez pas mes recommandations, je ne vais plus être enclin à vous aider…
En attendant cette procédure apporte la recherche intuitive sur les 3 ComboBox de la Frame1 :
VB:
Private Sub CL_SujFltChg(ByVal CBM As ComboBoxMmbr, ByVal Filtré As Boolean)
If Not Frame1 Is Me.ActiveControl Then Exit Sub
If Not CBM.CBx Is Frame1.ActiveControl Then Exit Sub
If CBM.CBx.MatchFound Or CBM.CBx.Text = "" Then Exit Sub
Dim S ' Sujet temporaire pour recherche intuitive
S = CBxL.SujCBxLike(CBM.SujetFlt, "*" & CBM.CBx.Text & "*")
If IsEmpty(S) Then Exit Sub
CBM.SujetFlt = S ' Affectation du sujet temporaire.
CBM.CBx.DropDown ' Affichage de la liste
End Sub
 
Dernière édition:

Discussions similaires

Statistiques des forums

Discussions
312 198
Messages
2 086 145
Membres
103 129
dernier inscrit
Atruc81500