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 Sub

merci.

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 Sub

Une 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... (Ensuite on peut la réinvalider, ça devrait continuer à marcher).

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.

Rechercher des sujets similaires à "bug macro filtre avance"