Macro pour filtrer dans une base
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:
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 |