Changer Dtpicker par Datepicker

Sub Filtre()
    Dim Tbl(), début, fin, i, n, NbCol, ColDate, k
    début = CDate(Me.TextBox1)
    fin = CDate(Me.TextBox2)
    ColDate = 1
    NbCol = UBound(TblBD, 2)
    n = 0
    For i = LBound(TblBD) To UBound(TblBD)
      If TblBD(i, ColDate) >= début And TblBD(i, ColDate) <= fin Then
        n = n + 1: ReDim Preserve Tbl(1 To NbCol + 1, 1 To n)
        For k = 1 To NbCol:  Tbl(k, n) = TblBD(i, k):  Next k
       End If
     Next i
     If n > 0 Then Me.ListBox1.Column = Tbl Else Me.ListBox1.Clear
End Sub

Boisgontier

Bonjour jb,

J'ai bien compris le principe. Le problème chez moi c'est que si on active le filtre en prenant comme date du 18 mai au 30 mai et bien le filtre ne prend pas le 30 mai !

Je l'ai adapté ensuite sur mon fichier avec le calendrier d'origine : même problème.

J'ai testé au débogueur et Tbl n'intègre pas cette valeur.

Pourquoi le <= Fin ne fonctionne-t-il pas correctement ?

Il en va de même quelle que soit la date de fin choisie ! Si on choisi le 20 Mai ce sont les 2 lignes qui manquent !

Je ne comprend pas ce Listbox1.Column = Tbl ? Puis-je avoir un début d'explication.

Pourquoi avoir abandonné l'idée du Dico et de List ? Est-ce pour un problème de compatibilité avec 2007 ?

A+

Bonjour,

  • Il y a des décimales dans les dates, d'où l'utilisation de Int()
  • On utilise Column lorsque la table est transposée
Sub Filtre()
    Dim Tbl(), début, fin, i, n, NbCol, ColDate, k
    début = CDate(Me.TextBox1)
    fin = CDate(Me.TextBox2)
    ColDate = 1
    NbCol = UBound(TblBD, 2)
    n = 0
    For i = LBound(TblBD) To UBound(TblBD)
      If Int(TblBD(i, ColDate)) >= début And Int(TblBD(i, ColDate)) <= fin Then
        n = n + 1: ReDim Preserve Tbl(1 To NbCol + 1, 1 To n)
        For k = 1 To NbCol:  Tbl(k, n) = TblBD(i, k):  Next k
       End If
     Next i
     If n > 0 Then Me.ListBox1.Column = Tbl Else Me.ListBox1.Clear
End Sub

Boisgontier

jb : Impeccable !

Tu ne m'as pas répondu sur l'abandon du Dico ?

Merci quand même !

Licaon : La version 1 modifié en fonction des observations qui précèdent mais j'ai conservé ton calendrier que je trouve plus pratique même si c'est pas un must !

A+

Exemple avec ComboBox dates au lieu de calendrier.

Boisgontier

Bonjour Galopin01, bonjour Maître Jacques, bonjour le Forum.

Je ne vous avais pas oublié, juste une semaine professionnelle très chargée.

Merci à tous les deux pour cet excellent travail, qui après test, fonctionnent sur les différentes versions Excel comme souhaité.

Je reste sur la version avec calendrier autonome qui permet une recherche plus fine que par combobox.

Cependant je garde sous le coude le classeur de Maître Jacques, le Combobox Dates, celui-ci contient de bonnes orientations pour la suite de mon projet.

Encore merci et bon week-end à tous.

Licaon.

Rechercher des sujets similaires à "changer dtpicker datepicker"