XL 2019 ListBox liées

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 !

Pirlouit85

XLDnaute Nouveau
Bonjour,
J'ai 5 listbox avec plusieurs choix possibles dans chacune.
Quand je sélectionne des items dans une listbox, toutes les autres listbox doivent s'actualiser en fonction du choix précédent et ainsi de suite.
Ex : je sélectionne un domaine ds une listbox et seules les fonctions de ce domaine s'affichent dans la seconde et seules les classes de ce domaine s'affichent dans la 3ème etc.
Et je peux commencer par n'importe quelle listbox.
Toutes les listbox proviennent de champs d'une même BDD qui sont initialisées au démarrage du formulaire.

En résumé, j'aimerais reproduire dans un formulaire ce que l'on peut faire avec Données Filtrer

J'ai fait le formulaire et les listbox initialisées mais c'est ensuite que ça se complique...
Si vous avez déjà fait ce genre de choses, je suis preneur.
Merci à tous !
 
Ca ne marche plus !!!!????
Dans la procédure Sub CombinTConsultOU(TConsult() j'ai l'erreur : l'indice n'appartient pas à la sélection sur :
On Error Resume Next: LMnO = LBound(TConsult): LMxO = UBound(TConsult)
Pourtant le On error resume next devrait me faire passer à la ligne suivante ???
Que se passe-t-il ? Je cherche en vain depuis 1 heure...
 

Pièces jointes

Ok
Les données s’arrêtent à 24 mais il regroupe toutes les lignes vides jusqu’à la fin du tableau mais effectivement c’est un choix possible.
Autre question : l’extraction des données correspondant aux critères sélectionnés pourrait se faire par Données Avancée via VBA ou une autre solution vous paraît plus judicieuse ?
Merci
 
J’ai une dernière question : est-il possible de conjuguer les ListBox avec des cases à cocher ? Une case à cocher par verbe soit une trentaine de cases.
Exemple : je fais une case à cocher pour le verbe diriger qui peut se trouver sur plusieurs colonnes et automatiquement les ListBox sont filtrés en fonction de ce choix et inversement et les autres cases à cocher disparaissent toujours en fonction de ce choix ?
Merci encore pour tout
 
Il devrait être possible de constituer une liste de numéros de lignes où une colonne est renseignée ni 0 ni FAUX. La Function ListeVrais ou la Sub CréerListeVrais pourrait servir en dernier dans une Sub de quelques Lignes :
VB:
Function TLgnRensVrai(ByVal RngCol As Range) As Long()
   Dim TCol(), L As Long, TConsult() As Boolean
   TCol = RngCol.Value: ReDim TConsult(1 To UBound(TCol, 1))
   For L = 1 To UBound(TConsult): TConsult(L) = TCol(L, 1): Next L
   CréerListeVrais TLgnRensVrai, TConsult
   End Function
Après pour réduire la liste courante des numéros de lignes TLgn à celle contenant celles d'un TLgnX il y aurait If IlEnResteFitrés(TLgn, TConsult(TLgnX)) Then
 
Dernière édition:
Les données ne se présentent pas comme je le croyais, à raison d'une colonne par CheckBox (J'utilise Ckx comme trigramme préfixe de ce type de contrôle, Et puisque j'en parle, les ListBox c'est LBx, pas ZlListe, et le CommandButton CBn, pas Bt)
Ce ne sont pas des Ckx qu'il vous faut mais encore une LBx, mais en utilisant cette fois la Function SujMultiCol pour en constituer le sujet.
 
Pour ajouter un ListObject à la collection ListObjects, sélectionnez la plage, menu Accueil, groupe Styles, commande Mettre sous forme de tableau
Vous n'avez pas prévu de procédure d'extraction ?
En voici un modèle possible :
VB:
Private Sub CBnExtraire_Click()
   Dim TDon(), LD As Long, TRés(), LR As Long, C As Integer
   TDon = RngDon.Value
   ReDim TRés(1 To UBound(TLgn), 1 To UBound(TDon, 2))
   For LR = 1 To UBound(TRés, 1)
      LD = TLgn(LR)
      For C = 1 To UBound(TRés, 2)
         TRés(LR, C) = TDon(LD, C)
         Next C, LR
      WshExtract.[2:1000000].ClearContents
      WshExtract.[A2].Resize(UBound(TRés, 1), UBound(TRés, 2)).Value = TRés
   End Sub
 
Merci et c'est vrai que ça facilite certains calculs notamment matriciels.
Merci pour l'extraction : c'est beaucoup plus court que ce que j'essaye de mettre en place.
Pour la LBx multicolonnes, je ne pense pas que ça puisse répondre à ma demande.
Si je résume, voici ce que doit faire le formulaire multicritères :

tout est interdépendant exactement selon l'action des filtres d'un tableau excel.

L'ordre de sélection des critères peut être différent:
Par exemple avec une sélection dans l'ordre:

1. Cg: 2 et 3
2. Domaine : x, y et z (x,y et z possible seulement si correspondent au critère précédent 2 et 3)
3. libellé fonction : a, b, c,d (a,b,c,d possibles seulement si correspondent aux modalités des critères précédents 1. et 2.)
4. verbes...seuls les verbes correspondants aux modalités des critères précédents choisis (1.2.3.) pourront être sélectionnés

Autre exemple si un seul verbe est choisi, seuls les domaines, libellés fonctions, cg, cp etc....correspondant au verbe choisi pourront être sélectionnés

Vraiment complexe : je réfléchis aussi à une autre présentation...
 
- 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

Retour