Bonjour,

J'essaie de réaliser une macro qui permet de filtrer dans une base selon 1 critèrepuis copier-coller les données trouvées avec le critère sélectionné.

Par exemple :
Sélectionner Dpt. Rhône Alpes
Copier les lignes qui correspondent au département Rhône-Alpes
Coller les lignes dans une nouvelle feuille.

J'ai essayé l'enregistreur de macro mais cela marche seulement avec le premier critère sélectionné. Or, j'ai plusieurs critères à faire.

Voici le code obtenu :
Merci d'avance pour 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 Macro1()
'
' Macro1 Macro
'
 
'
    ActiveSheet.Range("$A$1:$AI$120334").AutoFilter Field:=35, Criteria1:="DIR1"
    ActiveWindow.ScrollColumn = 19
    ActiveWindow.ScrollColumn = 18
    ActiveWindow.ScrollColumn = 15
    ActiveWindow.ScrollColumn = 12
    ActiveWindow.ScrollColumn = 9
    ActiveWindow.ScrollColumn = 3
    ActiveWindow.ScrollColumn = 1
    Range("A1:B1").Select
    Range(Selection, Selection.End(xlToRight)).Select
    Range(Selection, Selection.End(xlDown)).Select
    Selection.Copy
    Sheets.Add After:=Sheets(Sheets.Count)
    ActiveSheet.Paste
    Sheets("Feuil2").Select
    Range("K743").Select
    Application.CutCopyMode = False
    ActiveCell.FormulaR1C1 = "1"
    ActiveSheet.Range("$A$1:$AI$120334").AutoFilter Field:=35, Criteria1:="DIR2"
    ActiveWindow.ScrollColumn = 20
    ActiveWindow.ScrollColumn = 19
    ActiveWindow.ScrollColumn = 17
    ActiveWindow.ScrollColumn = 15
    ActiveWindow.ScrollColumn = 10
    ActiveWindow.ScrollColumn = 1
    Range("A1").Select
    Range(Selection, Selection.End(xlToRight)).Select
    Range(Selection, Selection.End(xlDown)).Select
    Selection.Copy
    Sheets.Add After:=Sheets(Sheets.Count)
    ActiveSheet.Paste
    ActiveWindow.ScrollColumn = 2
    ActiveWindow.ScrollColumn = 3
    ActiveWindow.ScrollColumn = 4
    ActiveWindow.ScrollColumn = 5
    ActiveWindow.ScrollColumn = 7
    ActiveWindow.ScrollColumn = 9
    ActiveWindow.ScrollColumn = 11
    ActiveWindow.ScrollColumn = 13
    ActiveWindow.ScrollColumn = 16
    ActiveWindow.ScrollColumn = 18
    ActiveWindow.ScrollColumn = 19
    ActiveWindow.ScrollColumn = 20
    ActiveWindow.ScrollColumn = 21
    Range("AJ2").Select
    Application.CutCopyMode = False
    ActiveCell.FormulaR1C1 = ""
    Range("AJ8").Select
    ActiveCell.FormulaR1C1 = ""
    Range("AJ20").Select
    ActiveSheet.Range("$A$1:$AI$120334").AutoFilter Field:=35, Criteria1:="DIR3"
    ActiveWindow.ScrollColumn = 19
    ActiveWindow.ScrollColumn = 18
    ActiveWindow.ScrollColumn = 15
    ActiveWindow.ScrollColumn = 12
    ActiveWindow.ScrollColumn = 9
    ActiveWindow.ScrollColumn = 3
    ActiveWindow.ScrollColumn = 1
    Range("A1:B1").Select
    Range(Selection, Selection.End(xlToRight)).Select
    Range(Selection, Selection.End(xlDown)).Select
    Selection.Copy
    Sheets.Add After:=Sheets(Sheets.Count)
    ActiveSheet.Paste
    Sheets("Feuil2").Select
    Range("K743").Select
    Application.CutCopyMode = False
    ActiveCell.FormulaR1C1 = "1"
End Sub