Microsoft 365 [RESOLU] Filtrer les résultats d'une listbox sur date

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

ivan27

XLDnaute Occasionnel
Bonsoir à tous,

En pièce jointe un formulaire aimablement fournit par Jacques Boisgontier.
Je souhaiterais ajouter un filtre sur la colonne date de la listbox. Exemple en pièce jointe. Filtre par défaut sur la date du jour.
Merci d'avance pour votre aide.
Bonne fin de soirée
Ivan
 

Pièces jointes

  • ListBox2.xlsm
    ListBox2.xlsm
    674.1 KB · Affichages: 18
  • formulaire.png
    formulaire.png
    44.4 KB · Affichages: 20
Dernière édition:
Bonjour
Avec un rajout de 2 pgm :
Dans L'usf derrière Userform_Initialize : Tri (avec les paramètres du tri (notamment n° col et ascendant ou descendant)
Moule 1 : TriCD avec les paramètres (programme réalisé par une personne de ce forum dont j'ai oublié le nom : merci à lui)

a+
 

Pièces jointes

Bonjour le forum,
CHALET53, merci beaucoup pour ta proposition mais je n'arrive pas à utiliser le code que tu m'as transmis.
Pourrais-tu me montrer comment incorporer ton code dans l'usf et comment le lier aux 2 textbox "date de début" et "date de fin" ?
Bien cordialement et bon dimanche.
Ivan
 
Dans le programme associé au Userform RechIntuit :
Juste derrière le programme Sub Userform_Initialize et avant le programme Sub EnTeteListBox, j'ai inséré le programme Sub tri ()
Sub tri()
'Stop
If Me.ListBox1.ListCount < 1 Then Exit Sub
col = 2
Dim a()
a = Me.ListBox1.List
nbcol = UBound(a, 2) - LBound(a, 2) + 1
Call TriCD(a(), UBound(a), col - 1, True, nbcol)
Me.ListBox1.List = a
End Sub
Dans le module 1, j'ai placé le programme TriCD

Sub TriCD(table(), xn, col, ordre, nbcol)
'Stop
ecart = xn ' tri shell
Do While ecart >= 1
ecart = ecart \ 2
inv = True
Do While inv
inv = False
For i = 0 To xn - ecart
j = i + ecart
If ordre Then
X = (table(i, col) > table(j, col))
Else
X = (table(i, col) < table(j, col))
End If
If X Then
inv = True
For C = 0 To nbcol - 1
temp = table(j, C): table(j, C) = table(i, C): table(i, C) = temp
Next
End If
Next
Loop
Loop
' Stop
End Sub

J'avais peut-être mal compris ce que tu voulais faire et notamment ceci :

Pourrais-tu me montrer comment incorporer ton code dans l'usf et comment le lier aux 2 textbox "date de début" et "date de fin" ?
 
Re bonjour tout le monde, CHALET53,
Désolé si je n'ai pas été suffisamment précis.
J'ai ajouté 2 textbox que je souhaiterais utiliser pour définir une période.
Seuls les enregistrement de la période spécifiée doivent s'afficher dans la listbox.
Ivan
 
re,
Le tableau est construit en prenant l'intégralité de la feuille BD (ligne 2 à dernière ligne et colonne 1 à dernière colonne ). La sélection que tu veux demande de faire un choix portant sur les lignes comprises dans un intervalle de dates .
La conception du programme est un peu compliquée pour moi : désolé
a+
 
Re bonjour,
Merci d'avoir essayé.
Et penses-tu que ma demande serait réalisable si la listbox ne pointe pas vers la BD principale mais vers une autre page sur laquelle on retrouverait uniquement les lignes filtrées ?
Ivan
 
Bonjour ivan27
Bonjour le Fil ,le Forum

j'ai suivi ce fil et comme CHALET53
je me suis posé la question du Comment utiliser les Deux TextBox
il faut y mettre des Dates mais comment (Calendrier , Liste de Dates etc etc) ?

as tu une idée de ce que tu veux ?
Jean marie
 
- 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
16
Affichages
1 K
Retour