Bonjour,
J'ai un problème assez épineux avec une macro de tri. En fait, j'ai un fichier qui contient 2 tableaux de données mis à jours automatiquement avec Access. J'ai d'autre part une feuille qui contient deux tableaux croisés dynamiques qui synthétisent les deux tableaux précédents. Le seul filtre appliqué à ces TCD est un filtre sur la date du jour.
J'ai une macro qui fait les choses suivantes :
-actualisation des TCD
-suppression du filtre sur la date de la veille
-application du filtre de la date du jour
Problème : un beau jour, cette macro a cessé de fonctionner. Je dis bien un beau jour car elle a du fonctionner au moins deux mois sans sourciller. Malheureusement je n'ai vu aucune idée de ce qu'il a pu advenir...
Explication du titre (le terme illogique, pour de la programmation, n'est pas franchement adapté, au mieux on peut dire incompréhensible) : j'ai lancé l'enregistreur de macro puis ai sélectionné une date disponible dans les filtres. J'ai tenté de relancer cette macro sans succès (erreur 1004). Ce qui est enregistré avec l'enregistreur de macro ne peut être reproduit ??? Gros doutes ...
Voici le code utilisé pour mettre à jour le filtre de la date :
Pas de problèmes du coté droit du "=" du .currentpage, j'ai testé avec du debug.print. Pas de problème avec la méthode ".clearAllFilters" (pas à pas ça roule). J'ai testé la méthode sur un autre tableau croisé dynamique de mon fichier, et l'enregistreur de macro fonctionne cette fois sans broncher.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9 With Sheets("TdB").PivotTables("TdbI").PivotFields("Date Inter") .ClearAllFilters .CurrentPage = Right(Left(StrJour, 5), 2) & "/" & Left(StrJour, 2) & "/" & Right(StrJour, 4) End With With Sheets("TdB").PivotTables("TdbP").PivotFields("Date Inter") .ClearAllFilters .CurrentPage = Right(Left(StrJour, 5), 2) & "/" & Left(StrJour, 2) & "/" & Right(StrJour, 4) End With
Une idée ?? =)
Merci pour votre aide !
Partager