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

XL 2016 Liste avec plusieurs valeurs à cocher

Axel22

XLDnaute Nouveau
Bonjour à tous,

J'ai réaliser une interface où l'utilisateur peux filtrer une feuille excel en choisissant la valeur à filtrer grâce un ListBox.
Une fois le filtre choisi je clique sur un bouton qui m'ouvre une nouvelle feuille avec mes données filtrés.

Maintenant j'aimerais toujours réalisé la même opération mais en choisissant plusieurs valeurs à filtrer, un peu comme le filtre basique d'excel.

Pour plus de compréhension je vous envoie mon fichier avec le code que j'ai fais pour 1 seule valeur sélectionné.

Je ne sais pas si j'ai été assez clair
Merci
Bonne soirée
 

Pièces jointes

  • essaiexlsm.xlsm
    21.3 KB · Affichages: 18

BOISGONTIER

XLDnaute Barbatruc
Repose en paix
Bonsoir,

VB:
Dim TblBD(), NbCol, NomTableau
Private Sub UserForm_Initialize()
  TblBD = [Tableau1].Value
  '--- construction des cases d'options régions
  Set d = CreateObject("scripting.dictionary")
  For i = 1 To UBound(TblBD): d(TblBD(i, 5)) = "": Next i
  Me.ListBox1.List = d.keys
  B_tout_Click
End Sub

Private Sub ListBox1_Change()
   Dim Tbl()
   For i = 0 To Me.ListBox1.ListCount - 1
    If Me.ListBox1.Selected(i) = True Then
       n = n + 1: ReDim Preserve Tbl(1 To n)
       Tbl(n) = Me.ListBox1.List(i)
    End If
   Next i
   If n > 0 Then  Sheets("bd").[A1].AutoFilter Field:=5, Criteria1:=Tbl, Operator:=xlFilterValues   Else     Sheets("bd").[A1].AutoFilter
End Sub

Pour une liste triée





Boisgontier
 

Pièces jointes

  • Copie de FiltreAutoListBoxMultiSelection.xls
    59 KB · Affichages: 6
Dernière édition:

Lolote83

XLDnaute Barbatruc
Re bonjour,
Au fait, j'ai oublié de signaler que 93 - Provence-Alpes-Côte d'Azur n'est pas le bon numéro de département
Il faudrait corriger en 83 - Provence-Alpes-Côte d'Azur
@+ Lolote83
 

Discussions similaires

Réponses
2
Affichages
120
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…