Salut !
J’ai écrit ce code VBA pour filtrer par date. Mais quand j’exécute la macro les dates filtrées ne correspondent pas du tout. J’ai l’impression que le mois et le jour sont inversés dans le fichier à filtrer. Pour exemple la date de début (B1) est le 08/01/24 et la date de fin (B2) est le 12/01/24 mais dans le fichier à filtrer j’obtiens les dates entre 01.08.24 et 01.12.24. Les dates sont dans le même format et bien en format date.
Des idées ?
Code vba : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27 Sub FiltrerParDate() Dim wsSuivi As Worksheet Dim startDate As Date, endDate As Date Dim currentFilterMode As Boolean ' Accéder à l'onglet "STABILITY RUNNING" dans le fichier "New Suivi Stability in progress" Set wsSuivi = Workbooks("New Suivi Stability in progress.xlsx").Sheets("STABILITY RUNNING") ' Récupérer les dates de début et de fin de la feuille "code VBA" startDate = ThisWorkbook.Sheets("code VBA").Range("B1").Value endDate = ThisWorkbook.Sheets("code VBA").Range("B2").Value ' Si les dates ne sont pas vides et sont valides If IsDate(startDate) And IsDate(endDate) Then ' Enregistrer l'état actuel des filtres currentFilterMode = wsSuivi.AutoFilterMode ' Réinitialiser les filtres sans les supprimer wsSuivi.AutoFilter.ShowAllData ' Appliquer le filtre à la colonne W wsSuivi.Rows("1:" & wsSuivi.Rows.Count).AutoFilter Field:=23, _ Criteria1:=">=" & startDate, Operator:=xlAnd, Criteria2:="<=" & endDate Else MsgBox "Format de date incorrect ou dates manquantes." End If End Sub
Partager