Filtre sur ListBox

Bonne année 2026 chers Membres.

S'il vous plait, j'ai un fichier de suivi de créance avec un formulaire ListBox1 qui affiche les données du tableau de saisies à l'ouverture.
Sur le formulaire il y a un ComboBox1 qui affiche la liste de clients, et des OptionButton qui me permettraient de filtrer la ListBox1 selon le client choisit, donc si aucun client n'est choisi, l'OptionButton1 est par défaut sélectionné.

Je voudrais donc coder les OptionButton de tel en sorte que :

  1. OptionButton1 = Tout (Affiche toutes les opérations du client sélectionné dans le ComboBox1) ;
  2. OptionButton2 = Échus (Affiche (s'il y en a), les facture échues du client ... ;
  3. OptionButton3 = En cours (Affiche (s'il y en a), les factures en cours ... ;

Merci d'avance

Bonjour,

Le plus simple serait de dépersonnaliser votre fichier et de nous le proposer.

Merci de votre retour.

Bien vouloir optimiser si vous pouvez. (entete couleur différente...)

4table-test.xlsm (36.91 Ko)

Bonjour,

Ci-joint votre fichier avec une proposition qui reprend les fonctionnalités de la combobox1, de l'optionbutton 1 et de l'optionbutton 2
Faites les choix dans la combobox et si vous voulez afficher tout, cliquez sur l'optionbutton "Tout"
Si vous voulez les factures échues ou en cours, cliquez sur l'optionbutton 2 ou 3

Pour les 2 autres Optionbutton Factures non soldées, quelle est la colonne à prendre en considération ?
Par défaut j'ai utilisé la colonne paiement pour l'optionbutton 3
Sinon, pour ces deux options, c'est un peu la même chose non ? Si une facture est en cours, elle est non soldée. Dites-moi.

4table-test1.xlsm (34.62 Ko)

EDIT : Fichier modifié dans lequel j'ai apporté quelques modifications dans deux codes des options et placé des titres pour la listbox. Prenez plutôt celui-ci

2table-test2.xlsm (36.66 Ko)

Bonjour Dan.
merci de votre intervention.
En fait si la ComboBox est vide, les filtres sur les boutons options s'appliquent à tout le tableau,

sinon, s'il y a une valeur dans le combo, tous les boutons options filtrent les données de la combo.

Les factures non soldées sont les factures ayant eu des avances sur paiement dont le solde n'est pas nul, et la date d'expiration est dépassée.

Les factures en cours sont celles non soldées, peu importe la date d'échéance.

Bonjour Dan.

merci de votre intervention.
En fait si la ComboBox est vide, les filtres sur les boutons options s'appliquent à tout le tableau,

sinon, s'il y a une valeur dans le combo, tous les boutons options filtrent les données de la combo.

Les factures non soldées sont les factures ayant eu des avances sur paiement dont le solde n'est pas nul, et la date d'expiration est dépassée.

Les factures en cours sont celles non soldées, peu importe la date d'échéance.

Voici le fichier avec les améliorations dans le but de faciliter la compréhension

8table-test2.xlsm (34.38 Ko)

Re

Ok. Comme vous avez ajouté des colonnes, je dois modifier certains codes

Je suppose que votre tableau est bien figé maintenant.

Oui oui, c'est OK.

Re

En fait si la ComboBox est vide, les filtres sur les boutons options s'appliquent à tout le tableau,
sinon, s'il y a une valeur dans le combo, tous les boutons options filtrent les données de la combo.

Les factures non soldées sont les factures ayant eu des avances sur paiement dont le solde n'est pas nul, et la date d'expiration est dépassée.
Les factures en cours sont celles non soldées, peu importe la date d'échéance.

Pour être certain de bien comprendre par rapport aux factures non soldées ou en cours, les factures échues se rapportent à quoi exactement ? Sur la date d'expiration uniquement avec solde à 0 ou pas ?

Désolé, petit délestage.

Les factures échues sont les factures dont les dates d'échéances sont dépassées et le solde>0

Les factures échues sont les factures dont les dates d'échéances sont dépassées et le solde>0

Donc dans le fichier cela concernerait l'affichage des facture 1, 4 et 6 par exemple

le client 01 n'a aucune facture échue par exemple car il a réglé 2 factures à temps et il a deux factures en cours

CLIENTN°FACTUREDATE FACTUREMONTANT NAP PAIEMENTSoldeDATE EXPIRATIONStatutJOURS RESTANTS
SOCIETE TEST 01109/06/2025150 000150 000009/07/2025OK
SOCIETE TEST 01301/02/202650 000 50 00001/05/2026OK84
SOCIETE TEST 01401/02/202510 00010 000017/04/2025OK
SOCIETE TEST 011101/02/20263 500 3 50001/03/2026OK23

le client 01 n'a aucune facture échue par exemple car il a réglé 2 factures à temps et il a deux factures en cours

Donc dans ce cas la listbox sera vide de données

En gros sur votre fichier seules les factures 2 et 5 seront considérées comme échues. Correct pour vous ?

Je me suis posé les mêmes questions que Dan, mais j'ai encore un pb :
Vous écrivez :

Les factures non soldées sont les factures ayant eu des avances sur paiement dont le solde n'est pas nul, et la date d'expiration est dépassée.

Les factures en cours sont celles non soldées, peu importe la date d'échéance.

Donc les factures en cours ont eu une avance sur paiement et le solde doit être inférieur au Montant NAP.
Dans votre exemple vous dites que le client 01 a deux factures en cours alors qu'ils n'ont rien avancé (solde = Montant NAP).
Votre définition de "factures en cours" me semble fausse. Je dis bien "me semble".

Ajout à 10h08:
Autre question:
Comment fonctionne la colonne des jours restants ?
ex : La société 02 (ligne 4) doit 5000 € depuis le 01/09/2025 et on a 0 au lieu des 159 jours de retard.

Bonjour,

@Optimix : Bien vu, et effectivement il y a peut être un souci.

De mon coté lorsque je relis la demande au travers des différents posts, je note ceci :

Les factures échues sont les factures dont les dates d'échéances sont dépassées et le solde>0
Les factures non soldées sont les factures ayant eu des avances sur paiement dont le solde n'est pas nul, et la date d'expiration est dépassée.
Les factures en cours sont celles non soldées, peu importe la date d'échéance

A l'analyse, les options de facture échues et non soldées renvoient la même chose.

Ne serait-ce pas plutôt comme ceci :
- Option Tout : affiche toutes les factures
- Option Facture en cours : factures non soldées (que ce soit avec un acompte ou pas, la facture reste en cours) et peu importe la date d'échéance

- Option Factures échues : facture non soldées n'ayant pas eu d'avance sur paiement et dont date d'échéance est passée
- Option Facture non soldées : factures non soldées ayant eu une avance sur paiement (solde > 0) mais dont la date d'expiration est dépassée


Sinon, il me semble que cela aurait été plus simple de grouper les options échues et non soldées en une seule qui prendrait uniquement en compte la date d'échéance dépassée ou pas.

Le fichier est prêt à être envoyé mais attendons le retour du demandeur pour qu'il nous apporte des précisions

Sinon, il me semble que cela aurait été plus simple de grouper les options échues et non soldées

Je vois les choses un peu différemment :

Tout = Jaune + Bleu + Gris
Factures échues = Jaune + Bleu
Factures en cours = Gris
Factures non soldées = Bleu + Gris
tableau

Bon, ma proposition :

3table-test.xlsm (50.78 Ko)

Bonjour,

Proposition en tenant compte des commentaires de mon post précédent

Pour les échues, j'ai considéré qu'il n'y avait pas de paiement (donc solde = montant) et que la date d'échéance était dépassée
Pour les non soldées, c'est toutes factures dont le solde est > 0 et date d'échéance dépassée

4table-test3.xlsm (55.21 Ko)

Bonjour et merci à tous les deux de l'acharnement que vous avez à l'égard de ma préoccupation.
Vos deux solutions y sont presque avec un penchant pour celle de Dan car la ListBox ne s'initialise pas au clic.

Toutefois, pouvez-vous y ajouter la sélection multiple et un bouton "Régler les Factures sélectionnées" ? si bien que si je clique, une confirmation s'affiche et je valide, les lignes d'écritures des règlements de chaque facture sélectionnée sont enregistrées dans le tableau ?

re

pouvez-vous y ajouter la sélection multiple et un bouton "Régler les Factures sélectionnées"

Rien de plus simple et que vous pouvez faire dans le fichier comme ceci :
- Aller dans l'userform dans l'éditeur VBA
- cliquez dans la listbox pour la sélectionner
- dans les propriétés de la listbox allez à la propriété "Multiselect" (NB : si vous ne voyez pas la fenêtre "propriétés", allez dans le menu de l'éditeur --> "Affichage" --> "Fenêtre Propriétés" ou appuyez sur la touche F4 de votre clavier)
- Dans la liste déroulante choisissez l'option "1-frmSelectMutli"

un bouton "Régler les Factures sélectionnées" ?......des règlements de chaque facture sélectionnée sont enregistrées

Je n'ai pas bien compris ce que vous voulez faire notamment lorsque vous écrivez "Régler les factures sélectionnées" et "valide les lignes d'écriture..." et "enregistrées dans le tableau"
Ce que vous voulez c'est que les lignes sélectionnées dans la listbox soient sélectionnées dans le tableau suite au clic sur le bouton ?

Rechercher des sujets similaires à "filtre listbox"