Microsoft 365 Macro pour filtrer un tableau

Bucheronz

XLDnaute Nouveau
Bonjour,

Je cherche depuis hier sans comprendre d'où vient mon erreur, je fais donc appel aux gens qui maîtrisent mieux que moi !
Voilà, je suis en train de créer un menu pour planifier ma semaine qui me génère ma liste de courses automatiquement.
Une fois mon planning rempli avec mes menus, je veux cliquer sur un bouton qui me bascule directement sur ma liste de courses dans laquelle toutes les quantités = 0 sont filtrées.

J'arrive à basculer et actualiser mon tableau croisé dynamique mais il ne se filtre pas tout seul et me donne une erreur que je ne comprends pas.
Certainement très simple à résoudre mais je n'ai aucune compétence en VBA :D

Je vous joins le fichier.

Merci d'avance !
 

Pièces jointes

  • Recettes.xlsm
    78.4 KB · Affichages: 24

sylvanu

XLDnaute Barbatruc
Supporter XLD
Bonjour Bucheronz,
Je n'ai pas eu d'erreur avec votre macro, mais une liste vide puisque le filtre demandé ne correspond à aucune ligne . ( Criteria1:=Array("0,3" , "1", "100", "2",... )
Par contre avec ce filtre on a bien la liste des ingrédients à la quantité non nulle :
VB:
ActiveSheet.Range("$A$3:$B$24").AutoFilter Field:=2, Criteria1:="<>0", Operator:=xlFilterValues
 

Bucheronz

XLDnaute Nouveau
Bonjour Bucheronz,
Je n'ai pas eu d'erreur avec votre macro, mais une liste vide puisque le filtre demandé ne correspond à aucune ligne . ( Criteria1:=Array("0,3" , "1", "100", "2",... )
Par contre avec ce filtre on a bien la liste des ingrédients à la quantité non nulle :
VB:
ActiveSheet.Range("$A$3:$B$24").AutoFilter Field:=2, Criteria1:="<>0", Operator:=xlFilterValues
Bonjour merci pour la réponse,

J'ai réessayé et j'ai cette erreur quand je clique sur le bouton :
1612450189540.png


Je ne comprends pas :(
 

Bucheronz

XLDnaute Nouveau
Bon et bien je ne comprends pas vraiment d'où vient mon problème...

Voici les lignes de code de ma macro.

Sub Macro3()
'
' Macro3 Macro
'


'
Worksheets("Liste de courses").Activate
Range("B4").Select
ActiveSheet.PivotTables("Tableau croisé dynamique1").PivotCache.Refresh
ActiveSheet.Range("$A$3:$B$24").AutoFilter Field:=2, Criteria1:="<>0", Operator:=xlFilterValues

End Sub

Et à chaque fois que je clique sur le bouton générer la liste de courses je reviens avec l'erreur du post #3
 

Bucheronz

XLDnaute Nouveau
Peut être que 2007 est plus "permissif" que 365.
La syntaxe de votre macro est issue de l'enregistreur de macros ?
Oui elle est issue de l'enregistreur.

Plus exactement je l'ai enregistré à nouveau et il s'agit de ce code :

Sub Macro2()
'
' Macro2 Macro
'

'
Sheets("Liste de courses").Select
ActiveSheet.PivotTables("Tableau croisé dynamique1").PivotCache.Refresh
ActiveSheet.Range("$A$4:$B$23").AutoFilter Field:=2, Criteria1:="<>0", _
Operator:=xlAnd
End Sub
 

Discussions similaires

Réponses
36
Affichages
2 K

Statistiques des forums

Discussions
314 450
Messages
2 109 726
Membres
110 552
dernier inscrit
jasson