Bug Macro Filtre Avance
Bonjour,
J’ai un problème avec l’exécution macro d’un filtre avancé. Le filtre fonctionne très bien hors-macro.
2 feuilles :
« Saisie », base de données
« Recherche », synthèse suivant les critères définis.
Le filtre :
Plages base.all de « saisie »
Zones de critères : A1 :B2 de « recherche »
Copier dans A5 :K5 de « recherche »
Avez-vous une réponse a ce bug ?
merci
Sub Macro1()
'
' Macro1 Macro
'
'
Sheets("saisie").Select
Range("base[#All]").Select
Range("K23").Activate
Selection.Copy
Sheets("recherche").Select
Range("A5").Select
ActiveSheet.Paste
Range("A1:B2").Select
Range("B2").Activate
Application.CutCopyMode = False
Range("base2[#All]").AdvancedFilter Action:=xlFilterInPlace, CriteriaRange _
:=Range("A1:B2"), Unique:=False
End Submerci.
Bonjour,
Une macro ça s'écrit ! ça ne s'enregistre pas (ou si enregistré on commence par faire le ménage !)
Sub Macro1()
'Worksheets("recherche").Range("A5:K5").Value = [base].Offset(-1).Resize(1).Value
[base].Offset(-1).Resize([base].Rows.Count + 1).AdvancedFilter xlFilterCopy, [Criteres], _
Worksheets("recherche").Range("A5:K5"), False
End SubUne ligne de code, normalement elle suffit ! ce pourquoi j'ai invalidé la première ligne.
Mais Excel perd parfois la tête et se met en erreur 1004, il ne trouve plus les noms de champs... Dans ce cas on enlève l'apostrophe de la première ligne de code pour l'aider un peu...
A noter, que cette ligne de code reproduit les valeurs des intitulés sans copier-coller, ce qu'on ne peut faire dans Excel manuellement et donc pas avec l'enregistreur.
Exercice pour progresser en VBA : produire un code totalement dépourvu de Select, Selection ou Activate et éviter le copier-coller.
Cordialement.