Tri date sans tenir compte du jour

Bonjour, je reviens vers vous car je rencontre de nouveau un soucis avec un filtre de date sur un tableau.

Donc, il y a deux combobox pour choisir le mois et l'année désirés a appliquer au filtre.

Pour moi la gestion des combobox est tres basique et a l'air de fonctionner correctement.

Le seul soucis que je rencontre est le suivant, quand je trie, il me sort un jour que je ne desire pas inclure. Je ne veux que le mois et l'année.

15tri-annee-forum.xlsm (139.14 Ko)

Bonjour,

Un essai en redéfinissant la date cherchée et en passant directement par les combobox :

Sub Trier()
Dim A As String, M As String, D As String
   A = ComboBox2.Value
   M = Format(ComboBox1.ListIndex + 1, "00")
   D = "*" & "/" & M & "/" & A & "*"

With Worksheets("journal")
    .Activate
    'on affiche toutes les lignes dont les dates sont éventuellement filtrées
    .ListObjects("Journal").Range.AutoFilter Field:=2
    On Error Resume Next    'en cas d'erreur provoquée par une instruction, la macro
                            'ignorera cette instruction et exécutera la suivante
    .ListObjects("Journal").Range.AutoFilter Field:=2, Criteria1:=(D)
End With
End Sub

A+

Salut Algo,

Peux tu m expliquer la ligne M= ?

chaque élément d'une combobox possède un index ; le premier étant 0. Dans la Combobox1, le mois de janvier a l'index 0, février le 1, mars le 2...

en faisant +1 on aura pour janvier : 1, février : 2,.... donc on retrouve le N° du mois sélectionné.

Dans les données de la feuille "journal" le mois est sur 2 caractères (janvier=01,.....) . La fonction Format permet de mettre en forme (voir l'aide pour les possibilités) une donnée.

Par exemple, si on a sélectionné juillet dans la combobox :

ComboBox1.ListIndex vaut 6 (7 ème élément de la combobox commençant à 0)

ComboBox1.ListIndex + 1 vaut 7 (donc le N° du mois sélectionné)

Format(ComboBox1.ListIndex + 1, "00") vaut "07"

Ok AlgoPlus

J essaie ça tout a l heure et reviens vers vous pour vous tenir au courant

Rechercher des sujets similaires à "tri date tenir compte jour"