|
|
|
|
|
Salut!
Le mieux c'est de vérifier si le filtre auto est activé dans la feuille destination avant de faire l'export des données. Pour ca, c'est simple: Sub import_vers_feuil2()
If Worksheets("Feuil2").AutoFilterMode Then
Worksheets("Feuil2").AutoFilterMode = False
End If
[Lance ta procédure d'import]
End Sub
a+ |
|
Merci PBGunner,
Avec ce que tu m'as donné, j'ai réussi. Cependant, je ne voulais pas enlever le filtre complètement mais seulement désactiver le filtrage en cours. Tu m'as mise dans la bonne voie car j'ai utilisé ta macro et l'ai complétée avec une autre macro pour réactiver le filtre à la fin (n'ayant pas assez de connaissances en macro, j'ai utilisé l'enregistreur de macro et l'ai analysé). Tu m'as beaucoup aidée et je t'en remercie. Au fait PBGunner parce que tu aimes l'équipe d'Arsenal ? Merci aussi pour la rapidité de ta réponse ! A+ Eve |
|
Salut Eve,
Je suis ravi que ca ai pu t'aider. Dans l'aide de Microsoft basic, tu peux aussi trouver un bout de script qui permet d'enregister les paramètres du filtre en cours dans des variables, et tu peux réappliquer le filtre en fin de script... Donc au moment au tu fais le test avec la commande If Worksheets("Feuil2").AutoFilterMode Then tu peux y ajouter le script Microsoft adapté pour réappliquer le filtre en fin de macro.
Pour t'aider, je te met le script complet ci dessous, à toi de le personnaliser. Si tu veux de l'aide dessus, n'hésite pas! Extrait de l'aide MS: L'exemple suivant montre comment stocker les critères d'adresse et de filtrage pour le filtre en cours et comment appliquer de nouveaux filtres. Dim w As Worksheet
Dim filterArray()
Dim currentFiltRange As String
Sub ChangeFilters()
Set w = Worksheets("Crew")
With w.AutoFilter
currentFiltRange = .Range.Address
With .Filters
ReDim filterArray(1 To .Count, 1 To 3)
For f = 1 To .Count
With .Item(f)
If .On Then
filterArray(f, 1) = .Criteria1
If .Operator Then
filterArray(f, 2) = .Operator
filterArray(f, 3) = .Criteria2
End If
End If
End With
Next
End With
End With
End Sub
Voila bon courage! ps: non je n'admire pas particulièrement l'équipe d'Arsenal, je traine ce pseudo depuis près de 10ans, a l'époque on se donnait des surnoms quand on jouait au paintball avec des amis, comme on me surnommait Gunner parceque je visais plutot bien, j'ai associé PB (PaintBall) et Gunner... voila voila... a+!
|
|
J'ai utilisé les 2 lignes de PBGunner :
If Worksheets("Feuille2").AutoFilterMode Then Worksheets("Feuille2").AutoFilterMode = False End if et j'ai redemandé les filtres avec les lignes suivantes : Range("A2:N2").Select Selection.AutoFilter Merci |
Résultats pour Excel macro désactiver filtre automatique
Résultats pour Excel macro désactiver filtre automatique