XL 2016 Filtrer une liste combo et afficher les info dans des textbox

  • Initiateur de la discussion Initiateur de la discussion dindin
  • Date de début Date de début

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 !

Bonsoir.
Il semble que vous confondiez les numéros d'items dans la ComboBox avec les numéros de lignes dans la base. Ce ne sont pas les mêmes si vous ne prenez pas l'intégralité des données pour la liste de la ComboBox.
Pourquoi je ne retrouve pas le Sujet calculé avec les fonctions de mon module MSujetCBx que je vous avait joint la dernière fois ?
L'élément 0 du sujet contient la liste des clés pour la ComboBox, mais l'élément 1 contient les listes de numéros de lignes dans la base correspondant aux clés du 0 !
J'avais fait une démo qui s'en servait pour sélectionner les cellules. Ce serait tout aussi facile de s'en servir pour garnir des TextBox.
 
Dernière édition:
Bonsoir.
Il semble que vous confondiez les numéros d'items dans la ComboBox avec les numéros de lignes dans la base. Ce ne sont pas les mêmes si vous ne prenez pas l'intégralité des données pour la liste de la ComboBox.
Pourquoi je ne retrouve pas le Sujet calculé avec les fonctions de mon module MSujetCBx que je vous avait joint la dernière fois ?
L'élément 0 du sujet contient la liste des clés pour la ComboBox, mais l'élément 1 contient les listes de numéros de lignes dans la base correspondant aux clés du 0 !
J'avais fait une démo qui s'en servait pour sélectionner les cellules. Ce serait tout aussi facile de s'en servir pour garnir des TextBox.
Désolé Dranreb
J'ai essayé en vain d'adapter votre fichier. Je suis très novice en VBA. J'arrive pas à comprendre le raisonnement.
Pour gagner du temps j'ai voudrais afficher directement la liste filtrée dans la combo.
Je bloque quand j'essaye de récupérer le n de la ligne qui correspond au choix de combo.
 
La démo faisait ça en une seule instruction, mais en plus il y avait une CBxCode_Change qui traitait le choix. Veuillez reprendre ce principe.
VB:
Option Explicit
Private RngDon As Range, SujTR, SujDM
Private Sub UserForm_Initialize()
   Dim Sujet
   Set RngDon = Feuil1.[A2:F2].Resize(Feuil1.[A65000].End(xlUp).Row - 1)
   Sujet = SujetCBx(RngDon, Colonne:=1)
   SujTR = SujCBxLike(Sujet, "TR-*"): ComboBox1.List = SujTR(0)
   SujDM = SujCBxLike(Sujet, "DM-*"): ComboBox2.List = SujDM(0)
   End Sub
Private Sub ComboBox1_Change()
   Dim Ligne As Long, TVL()
   If Not ComboBox1.MatchFound Then Exit Sub
   Ligne = SujTR(1)(ComboBox1.ListIndex)(1)
   TVL = RngDon.Rows(Ligne).Value
   Me.TextBox5 = TVL(1, 1)
   Me.TextBox1 = TVL(1, 2)
   Me.TextBox2 = TVL(1, 3)
   Me.TextBox3 = TVL(1, 4)
   Me.TextBox4 = TVL(1, 5)
   End Sub
Remarque: ça mériterait d'être mis sous forme de tableau Excel et d'utiliser un objet ComboBoxLiées et un objet ControlsAssociés. Là on réinvente un peu la poudre …
 
Dernière édition:
- 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
4
Affichages
614
Réponses
4
Affichages
200
Retour