Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

XL 2013 Relier les combobox de filtre

  • Initiateur de la discussion Initiateur de la discussion roross
  • 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 !

J'obtiens déjà un résultat qui me semble conforme à ce que vous cherchez, après avoir coché la référence à CLsCAs, en remplaçant toute votre programmation par ceci :
VB:
Option Explicit
Private WithEvents CL As ComboBoxLiées
Private Sub UserForm_Initialize()
   Dim C As Long
   Set CL = CLsCAs.ComboBoxLiées
   CL.Plage Feuil1.[A2:D2], True
   For C = 1 To 3: CL.Add Me("ComboBox" & C), C: Next C
   For C = 4 To 5: CL.Add Me("ComboBox" & C): Next C
   CL.Actualiser
   End Sub
Private Sub CL_SujBdDPersoSVP(ByVal CBM As CLsCAs.ComboBoxMmbr)
   Dim SujBrut
   SujBrut = CLsCAs.SujetCBx(CL.PlgTablo.Columns(4))
   If CBM.CBx Is Me.ComboBox4 Then
      CBM.SujetBdD = CLsCAs.SujAvecSuivants(SujBrut)
   Else
      CBM.SujetBdD = CLsCAs.SujAvecPrécédents(SujBrut)
      End If
   End Sub
Private Sub CL_Résultat(Lignes() As Long)
   Dim TDon(), LDon&, TLBx(), LLBx&, C&
   ReDim TLBx(1 To UBound(Lignes), 1 To 4)
   TDon = CL.PlgTablo.Value
   For LLBx = 1 To UBound(TLBx)
      LDon = Lignes(LLBx)
      For C = 1 To 4: TLBx(LLBx, C) = TDon(LDon, C): Next C, LLBx
   ListBox1.List = TLBx
   End Sub
 
Programmation complétée pour tenir compte du bouton TOUT :
VB:
Option Explicit
Private WithEvents CL As ComboBoxLiées
Private Sub UserForm_Initialize()
   Dim C As Long
   Set CL = CLsCAs.ComboBoxLiées
   CL.Plage Feuil1.[A2:D2], True
   For C = 1 To 3: CL.Add Me("ComboBox" & C), C: Next C
   For C = 4 To 5: CL.Add Me("ComboBox" & C): Next C
   CL.Actualiser
   End Sub
Private Sub CL_SujBdDPersoSVP(ByVal CBM As CLsCAs.ComboBoxMmbr)
   Dim SujBrut
   SujBrut = CLsCAs.SujetCBx(CL.PlgTablo.Columns(4))
   If CBM.CBx Is Me.ComboBox4 Then
      CBM.SujetBdD = CLsCAs.SujAvecSuivants(SujBrut)
   Else
      CBM.SujetBdD = CLsCAs.SujAvecPrécédents(SujBrut)
      End If
   End Sub
Private Sub cbtout_Click()
   CL.Nettoyer
   End Sub
Private Sub CL_Change(ByVal Complet As Boolean, ByVal NbrLgn As Long)
   Dim TLgn() As Long, L As Long
   If NbrLgn > 0 Then Exit Sub
   ReDim TLgn(1 To CL.PlgTablo.Rows.Count)
   For L = 1 To UBound(TLgn): TLgn(L) = L: Next L
   CL_Résultat TLgn
   End Sub
Private Sub CL_Résultat(Lignes() As Long)
   Dim TDon(), LDon&, TLBx(), LLBx&, C&
   ReDim TLBx(1 To UBound(Lignes), 1 To 4)
   TDon = CL.PlgTablo.Value
   For LLBx = 1 To UBound(TLBx)
      LDon = Lignes(LLBx)
      For C = 1 To 4: TLBx(LLBx, C) = TDon(LDon, C): Next C, LLBx
   ListBox1.List = TLBx
   End Sub
 

Bonjour,
Je te remercie et bonne chance
 
 
S'il n'y a pas de tableau dynamique:

VB:
  Set f = Sheets("bd")
  Set Rng = f.Range("A2:D" & f.[A65000].End(xlUp).Row)     ' à adapter
  nomTableau = "Tableau1"
  ActiveWorkbook.Names.Add Name:=nomTableau, RefersTo:=Rng
  TblBD = Range(nomTableau).Value

Boisgontier
 

Pièces jointes

- 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

  • Question Question
XL 2019 B
Réponses
10
Affichages
412
Réponses
5
Affichages
312
Réponses
2
Affichages
116
Réponses
3
Affichages
265
Réponses
10
Affichages
635
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…