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

filtre automatique par rapport à une date

michel90

XLDnaute Nouveau
Bonjour a tous,

j'ai crée une macro qui permet d'appliquer des filtre sur un fichier et compter le nombre de ligne apres chaque filtre
le filtre principal que je veux modifier c'est un filtre sur date et heure. je veux l'adapter pour que la macro fonctionne tout les jours car elle fonctionne seulement pour aujourd'hui.

voici la macro.
VB:
Sub Macro2()
'
' Macro2 Macro
'

' CCO Lille 22h/6h
   ActiveSheet.Range("$A$1:$V$5068").AutoFilter FIELD:=6, Operator:= _
        xlFilterValues, Criteria2:=Array(3, "4/26/2017 22:59:0", 3, "4/26/2017 23:59:0", _
        3, "4/27/2017 0:58:0", 3, "4/27/2017 1:59:0", 3, "4/27/2017 2:58:0", 3, _
        "4/27/2017 3:57:0", 3, "4/27/2017 4:59:0", 3, "4/27/2017 5:59:0")
  
    ActiveSheet.Range("$A$1:$V$5068").AutoFilter FIELD:=19, Criteria1:= _
        "CCO LILLE"
        Dim x As Long
x = Application.Subtotal(3, Columns("S")) - 1
MsgBox "nombre de mission pour Lille 22h/6h = " & x

    ActiveSheet.Range("$A$1:$V$5068").AutoFilter FIELD:=21, Criteria1:= _
        "C - Critique"
        x = Application.Subtotal(3, Columns("U")) - 1
MsgBox "nombre de critique pour Lille 22h/6h = " & x

If Worksheets("Table").AutoFilterMode Then
     Worksheets("Table").AutoFilterMode = False
End If
 
End Sub

je veux mettre un truc comme ça:

VB:
Sub Macro2()
'
' Macro2 Macro
'

' CCO Lille 22h/6h
   ActiveSheet.Range("$A$1:$V$5068").AutoFilter FIELD:=6, Operator:= _
        xlFilterValues, Criteria2:=Array(3, "date-1  22:59:0", 3, "date-1 23:59:0", _
        3, "date aujourd'hui 0:58:0", 3, "date aujourd'hui 1:59:0", 3, "date aujourd'hui 2:58:0", 3, _
        "date aujourd'hui 3:57:0", 3, "date aujourd'hui 4:59:0", 3, "date aujourd'hui 5:59:0")
  
    ActiveSheet.Range("$A$1:$V$5068").AutoFilter FIELD:=19, Criteria1:= _
        "CCO LILLE"
        Dim x As Long
x = Application.Subtotal(3, Columns("S")) - 1
MsgBox "nombre de mission pour Lille 22h/6h = " & x

    ActiveSheet.Range("$A$1:$V$5068").AutoFilter FIELD:=21, Criteria1:= _
        "C - Critique"
        x = Application.Subtotal(3, Columns("U")) - 1
MsgBox "nombre de critique pour Lille 22h/6h = " & x

If Worksheets("Table").AutoFilterMode Then
     Worksheets("Table").AutoFilterMode = False
End If
 
End Sub

SVP est ce que vous pouvez m'aider a réaliser ça. je vous remercie d'avance
en piece le fichier que la macro doit traiter
 

Pièces jointes

  • fichier a traiter.xls
    1.8 MB · Affichages: 26

Discussions similaires

Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…