XL 2010 Filtre automatique par mois

  • Initiateur de la discussion Initiateur de la discussion Seb
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

Seb

XLDnaute Occasionnel
Bonsoir le forum,

Je galère à faire un filtre automatique.

J'ai un colonne avec des dates que je voudrais filtrer par mois. Les années de sont pas forcément les memes. Je veux juste les valeurs de janvier, février …. peut importe l'année que c'est. Voila mon bout de code :



For i = LBound(a) To UBound(a) '0 To 1
Set ws = Worksheets(CStr(a(i)))
For j = 1 To UBound(ZoneB)
For k = 1 To UBound(iMois) ( K prend la valeur de 1 à 12 pour les 12 mois)


(C 'EST LA QUE CA BUGUE)
'[Filtre Automatique /Date]
ws.Activate
ws.Range("$A$1:$K$3000").AutoFilter Field:=2, Criteria1:= _





Select Case i
Case 0
Zone(j, k) = Application.Subtotal(3, ws.Range("E:E")) - 1
Zone(j, k + 2) = Application.Subtotal(9, ws.Range("E:E"))
Case 1
Zone(j, k + 1) = Application.Subtotal(3, ws.Range("E:E")) - 1
Zone(j, k + 3) = Application.Subtotal(9, ws.Range("E:E"))
End Select
Next
Next
ws.ShowAllData
Next i
etc ………


je voulais utiliser la fonction "xlFilterAllDatesInPeriodJanuary , february etc... mais je sais pas comment l'adatper à l'interieur d'une boucle.




Merci beaucoup pour le coup de main

Seb
 
Bonsoir le fil, le forum

Puisque tu parles de Filtre Automatique, alors automatiquement filtrons 😉
A tester sur une feuille vierge.
VB:
Sub test()
'21=Janvier, 22=Février ... 32=Décembre
Call gendatas
Filtrer 32
End Sub
Private Sub Filtrer(Mois As XlFilterAllDatesInPeriod)
ActiveSheet.Range("$A$1:$A$2033").AutoFilter Field:=1, Criteria1:=Mois, Operator:=xlFilterDynamic
End Sub
Sub gendatas()
Cells.Clear
[A1] = "DATES": [A2] = "01/01/2018": [A2].DataSeries 2, 3, 1, 1, 44699, 0
End Sub
NB: gendatas est une macro juste pour créer des données de test.
 
Bonjour,

Exemple

Code:
Sub FiltreMoisAn()
  mois = 3: an = 2007
  ActiveSheet.Range("$A$5:$E$30").AutoFilter Field:=5, Operator:= _
  xlFilterValues, Criteria2:=Array(1, Format(DateSerial(an, mois, 1), "mm/dd/yyyy"))
End Sub

Pour extraire Janvier qq année:

Code:
Sub ExtraitJanvierTousAns()
    ActiveSheet.Range("$A$5:$E$33").AutoFilter Field:=5, Criteria1:=21, Operator:=xlFilterDynamic
End Sub

xlFilterAllDatesInPeriodJanuary=21

Pour une boucle pour tous les mois:

For m=21 To 21+12
....
Next m


jb
 

Pièces jointes

Dernière édition:
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Réponses
4
Affichages
177
Réponses
3
Affichages
665
  • Question Question
Microsoft 365 Export données
Réponses
4
Affichages
649
Réponses
3
Affichages
582
Réponses
23
Affichages
2 K
Retour