Bonjour,
Je cherche à faire des filtre élaborée sur un ensemble de fichiers dans un répertoir
le problème c'est que la partie
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 Private Sub CommandButton1_Click() Dim Repertoire As String, Fichier As String Dim Wb As Workbook Dim Ws As Worksheet Dim i As Integer Application.ScreenUpdating = False 'Définit la Première feuille du classeur contenant cette macro '(pour recevoir les donnée extraites dans les autres classeurs). Set Ws = ThisWorkbook.Worksheets(1) 'Définit le répertoire de recherche Repertoire = "C:\Anis\Initial\" 'Spécifie la recherche pour le fichiers .xls Fichier = Dir(Repertoire & "*.xls") 'Boucle sur les fichiers du répertoire Do While Fichier <> "" 'Vérifie que le nom du classeur est différent du classeur 'contenant cette macro (dans le cas ou il serait placé dans le même répertoire). 'Ouvre chaque classeur Set Wb = Workbooks.Open(Repertoire & Fichier) a = Wb.Worksheets(3).Range("J65536").End(xlUp)(2).Row b = 10 test = "A1:J" & a Range(test).AdvancedFilter Action:=xlFilterInPlace, CriteriaRange:= _ Workbooks("Console.xls").Sheets("Feuil1").Rows("1:6"), Unique:=False 'Wb.Close False Fichier = Dir Loop Application.ScreenUpdating = True MsgBox "Terminé" End Sub
qui est censée créer le filtre élaboré ne renvoie pas le résultat souhaité sachant qu'elle le fait sans problème si elle est executée dans une macro seule. Comment faire?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7 a = Wb.Worksheets(3).Range("J65536").End(xlUp)(2).Row b = 10 test = "A1:J" & a Range(test).AdvancedFilter Action:=xlFilterInPlace, CriteriaRange:= _ Workbooks("Console.xls").Sheets("Feuil1").Rows("1:6"), Unique:=False
Partager