Bonjour,

J'ai cree un code pour filtrer des donnees et je n'ai aucun message d'erreur. Cependant il ne fait pas son travail car il ne prend pas en compte les criteres que je lui ai donne.
Voici mon code :

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
 
Private Sub CommandButton1_Click()
' Get a new revision number
 
    ActiveSheet.Unprotect
 
    a = Sheets("NEW REVISION").Range("C4")
    b = Sheets("NEW REVISION").Range("E4")
 
    Sheets("COMPLETE LIST").Visible = True
    Sheets("COMPLETE LIST").Select
    ActiveSheet.Unprotect
 
' Refresh complete list
 
    ActiveSheet.Range("C7").AutoFilter Field:=1
    ActiveSheet.Range("D7").AutoFilter Field:=2
    ActiveSheet.Range("E7").AutoFilter Field:=3
    ActiveSheet.Range("F7").AutoFilter Field:=4
    ActiveSheet.Range("G7").AutoFilter Field:=5
    ActiveSheet.Range("H7").AutoFilter Field:=6
 
' Filtering
 
    Sheets("COMPLETE LIST").Select
    Dim LastLig As Long
    Dim Plage As Range
 
    With Worksheets("COMPLETE LIST")
        LastLig = .Cells(.Rows.Count, "C").End(xlUp).Row
        If LastLig >= 8 Then
            Set Plage = .Range("C8:FG" & LastLig)
            ' Suite de ton code concernant Plage (de type range)
            ActiveSheet.Range("C9:FG" & LastLig).Select
            Else
                Set Plage = Nothing
        End If
    End With
 
    Selection.Sort Key1:=ActiveSheet.Range("H9"), Order1:=xlAscending, Header:= _
        xlGuess, OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom, _
        DataOption1:=xlSortNormal
 
    If a <> "" Then
        Selection.AutoFilter Field:=1, Criteria1:=a
        a = ""
    End If
 
    If b <> "" Then
        Selection.AutoFilter Field:=4, Criteria1:=b
        b = ""
    End If
 
    Selection.Sort Key1:=ActiveSheet.Range("H9"), Order1:=xlDescending, Header:= _
        xlGuess, OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom, _
        DataOption1:=xlSortNormal
 
End Sub
Le critere A etant du genre "T000" et le critere B etant du genre "AA". je demande a ma macro d'aller chercher ces criteres dans une autre page de travail.

Sauriez vous pourquoi il ne l'ai prend pas en compte ?

Amicalement