Macro Excel ne fonctionne pas après le filtre


Lors du test de nouvelles macros que vous développez, vous pouvez constater que la macro Excel ne fonctionne pas lors de l’exécution et que l’information dans une feuille de calcul est filtrée. Cela peut se produire car la macro peut attendre à ce que toutes les informations contenues dans la feuille de calcul soient disponibles, ou il peut essayer de mettre à jour des informations qui ne sont pas visibles sur l’écran.
La meilleure solution à ce problème est de s’assurer que la macro désactive le filtrage. Cela peut se faire facilement en ajoutant la ligne de code suivante près du début de la macro:

ActiveWorksheet.AutoFilterMode = False

Cela garantit que le filtrage est désactivé et supprime les problèmes que les données filtrées peuvent présenter pour votre macro. (Cela entraînera évidemment la perte de tous les paramètres de filtrage, mais pour les nombreuses macros qui peuvent être un effet secondaire acceptable.)
À partir de mes expériences, j’ai découvert que l’erreur ne se produisait que dans la combinaison suivante de conditions:

  1. Le filtre est appliqué via VBA
  2. Il existe au moins un Slicer connecté.

Dans toutes les autres situations, la macro s’exécute sans problème.
Si vous exécutez une macro qui applique un filtre avancé à une table avec un Slicer, assurez-vous que la cellule active se trouve en dehors de la table Source de liste. Vous pouvez ajouter une ligne de code quelque part dans la macro, pour sélectionner une cellule spécifique non-table. Habituellement, j’essaie d’éviter de sélectionner des plages dans une macro, mais dans ce cas, je ferai une exception.

Laisser un commentaire