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 : 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
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