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

XL 2016 Afficher données dans listbox sous condition

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

KTM

XLDnaute Impliqué
Bonjour chers tous

Dans mon fichier joint mon userform affiche tous les enregistrements de ma base.
Mais je voudrais afficher uniquement les enregistrements du mois indiqué en cellule L1 et des mois antérieurs .
Pour l'Heure j'ai fait le code pour afficher tous.
VB:
Private Sub UserForm_Initialize()
Dim dl As Long
dl = Sheets("VA").Range("A" & Rows.Count).End(xlUp).Row
With Sheets("VA").[A1].CurrentRegion.Resize(dl, 10)
    ListBox2.ColumnCount = .Columns.Count
    If .Rows.Count > 1 Then ListBox2.RowSource = .Rows(2).Resize(.Rows.Count - 1).Address
End With
End Sub

Merci et soyons en sécurité.
 

Pièces jointes

re,

Il faut nettoyer la propriété RowSource avant le filtrage :
VB:
Private Sub UserForm_Initialize()
    ListBox2.RowSource = "" ' nettoyage de la source
    Filtre
    With Sheets("Filtre").Range("A4").CurrentRegion.Resize(, 10)
        ListBox2.ColumnCount = .Columns.Count
        If .Rows.Count > 1 Then ListBox2.RowSource = "Filtre!" & .Rows(2).Resize(.Rows.Count - 1).Address
    End With
End Sub

P.S. il est préférable de rajouter le nom de la feuille au rowsource.

Cordialement
 
Bonsoir @KTM @Roblochon @BOISGONTIER, le Forum


J'ai repris le classeur d'origine en filtrant sur l'alimentation de la ListBox mais donc plus en RowSource mais en AddItems + List pour les colonnes. C'est une autre approche.

J'essaie donc de prendre "uniquement les enregistrements du mois indiqué en cellule L1 et des mois antérieurs " comme spécifié dans le post initial. Je gère aussi les années bissextiles avec une petite fonction connue sur le net.

Par exemple si on tape 15/02/2020, il prendra toutes les écritures du 1 au 29 février 2020 inclus et celles aussi de janvier 2020 et de décembre 2019... Si j'ai bien compris ?

Bonne soirée
Bien à vous & take care
@+Thierry
 

Pièces jointes

Salut @BOISGONTIER

Oui dans ton programme, je pense oui, puisque tu n'indiques que le numéro de mois.

Moi j'ai une autre approche dans mon classeur pour essayer de respecter scrupuleusement la demande initiale qui était donc "uniquement les enregistrements du mois indiqué en cellule L1 et des mois antérieurs "

Bien à toi et bon confinement
@+Thierry
 
- 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
12
Affichages
591
Réponses
0
Affichages
985
  • Question Question
Réponses
3
Affichages
990
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…