Autofilter sur trimestre paramettrable
Bonjour,
je tourne un peu en rond après avoir monté un USF pour filtrer les données dates et autre,
la déclaration des parametres est faite en tête de module Public ChampPeriode As Variant, Public CritPériode1, Public CritPériode2
je rencontre un problème avec "FiltrePériode" qui bloque sur autofiter, alors que "FitrageMois" ne pose pas de problème
je ne vois pas la bourde.
Merci de votre aide
Code:
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 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75
| Sub FiltrePériode()
Dim LeTrim As Byte
Dim Rnd 'As Range
'1/ choix feuille
If txtSheet = "ATX" Then
Set Rnd = Range("A1:Q65000")
ChampPeriode = 1
Else:
Set Rnd = Range("A1:S65000")
ChampPeriode = 2
End If
If cboMois = "_" Then
'2/ parametre trimestre
LeTrim = cboTrimestre.ListIndex+1
Select Case LeTrim
Case 1 '"1er Trim"
CritPériode1 = "1/1/" & cboAnnée
CritPériode2 = "31/3/" & cboAnnée
Case 2 '"2ème Trim"
CritPériode1 = "1/4/" & cboAnnée
CritPériode2 = "31/6/" & cboAnnée
Case 3 '"3ème Trim"
CritPériode1 = "1/7/" & cboAnnée
CritPériode2 = "31/9/" & cboAnnée
Case 4 '"4ème Trim"
CritPériode1 = "1/10/" & cboAnnée
CritPériode2 = "31/12/" & cboAnnée
End Select
ElseIf cboMois = "_Tout" Then
'3/ parametre année
CritPériode1 = "1/1/" & cboAnnée
CritPériode2 = "31/12/" & cboAnnée
Else
'4/ parametre Mois
CritPériode1 = "1/" & cboMois & "/" & cboAnnée 'mise au format text mois /jour/an
CritPériode2 = "31/" & cboMois & "/" & cboAnnée
End If
'5/ filtrage
Range("A1:Q65000").AutoFilter Field:=ChampPeriode, Operator:=xlFilterValues, Criteria2:=Array(1, CritPériode1, 1, CritPériode2)
End Sub
Sub filtreTrimestre()
'OK 8/7/15
Dim CritPériode1, CritPériode2
Range("A1:Q650000").Select
ChampPeriode = 1
CritPériode1 = "01/01/" & cboAnnée '"01/01/2015"
CritPériode2 = "03/30/" & cboAnnée '"03/30/2015"
ActiveSheet.Range("$A$1:$Q$65000").AutoFilter Field:=1, Operator:=xlFilterValues, Criteria2:=Array(1, CritPériode1, 1, CritPériode2)
End Sub
Sub FitrageMois()
ActiveSheet.Range("$A$1:$Q$20").AutoFilter Field:=1, Operator:= _
xlFilterValues, Criteria2:=Array(1, "1/30/2015", 1, "6/30/2015")
Selection.AutoFilter
End Sub
Private Sub xxxcboTrimestre_Change()
'OK 4/7/15
txtPeriode = "Période sélectionnée = " & cboTrimestre & " - " & cboAnnée
cboMois.ListIndex = 0
txtChoixTrimestre = Left(cboTrimestre, 1)
End Sub |