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

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

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
    674.1 KB · Affichages: 18
  • formulaire.png
    44.4 KB · Affichages: 15
Dernière édition:

CHALET53

XLDnaute Barbatruc
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

  • Ivan27 ListBox2.xlsm
    678.7 KB · Affichages: 17

ivan27

XLDnaute Occasionnel
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
 

CHALET53

XLDnaute Barbatruc
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" ?
 

ivan27

XLDnaute Occasionnel
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
 

CHALET53

XLDnaute Barbatruc
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+
 

ivan27

XLDnaute Occasionnel
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
 

ChTi160

XLDnaute Barbatruc
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
 

CHALET53

XLDnaute Barbatruc
J'ai bricolé un truc d'amateur (pas très fier de moi) sur la base d'une feuille Bis
Je ne fais pas de contrôle sur la cohérence des dates
Notre ami Chti va te concocter un truc aux petits oignons
 

Pièces jointes

  • Ivan27 ListBox2 bis.xlsm
    684.7 KB · Affichages: 11

ivan27

XLDnaute Occasionnel
Entre nous deux, l'amateur c'est moi !
Là tu réponds à la demande et je t'en remercie.
Maintenant, j'accepte volontiers les améliorations de nature à alléger le code ou à accélérer son fonctionnement.
Ivan
 

ChTi160

XLDnaute Barbatruc
Re
j'utilise parfois ce genre de Calendrier (si je puis dire )
dans l'exemple pour des réservations de Chambre d’hôtes.

on pourrait voir pour l'adapter .
 

Pièces jointes

  • CalendrierIvan.gif
    281.6 KB · Affichages: 7

ivan27

XLDnaute Occasionnel
Date + période s'il te plaît.
Idéalement, lors du lancement du formulaire filtrer automatiquement sur la date du jour. Et avoir la possibilité de changer la date du jour pour un autre jour ou une période.
Ivan
 

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…