Correction macro : Filtre automatique

Bonjour à tous,

J'ai un petit problème avec la macro suivante : J'aimerais qu'elle se lance dès le moindre changement dans le workbook mais après avoir fonctionner un moment j'ai du changer qqch qui fait qu'elle ne marche plus !

Sub Worksheet_Calculate()

If Me.FilterMode = True Then

With Application

.EnableEvents = False

.ScreenUpdating = False

End With

With ActiveWorkbook

.CustomViews.Add ViewName:="Mine", RowColSettings:=True

Me.AutoFilterMode = False

.CustomViews("Mine").Show

.CustomViews("Mine").Delete

End With

With Application

.EnableEvents = True

.ScreenUpdating = True

End With

End If

End Sub

J'ai placé la Sub au niveau d'une feuille et pas dans un module ... Si une fois située sur la dite feuille je lance la macro elle fonctionne bien mais j'aimerais ne pas avoir à la lancer manuellement et qu'ellle se lance dès qu'un changement se produise dans le workbook.

Merci pour votre aide.

Bonjour,

Une erreur a dû survenir ... et tu es toujours en mode

Application.EnableEvents = False

Pour retrouver son comportement nomal, il te faut relancer une macro avec

Application.EnableEvents = True

Que je dois placer ou ?

( J'aurais pu chercher pour penser à ca !!! ) Merciiiii !!

De plus, et ca c'est plus dans l'optique de l'apprentissage : la macro si dessus n'est ce pas trop de " blabla" pour pas grand chose ?

Elle fonctionne et c'est très bien soyons clairs mais je veux dire par là n'y a t il pas une macro qui automatiserait tous les filtres du workbook automatiquement dès qu'un élément du workbook change avec beaucoup moins de lignes ?

Un genre autofilter.activate ... Je n'y connais pas grand chose de là la question !

Merci d'avance

Re,

Normalement ... tu ne dois avoir de réinitialiser ... qu'une seule fois ...

La solution rapide ... tu fermes Excel et tu le ré-ouvres ...

Si tu veux une macro de secours ... tu peux la mettre dans le Module1

Sub Reinit()
  Application.EnableEvents = True
End Sub

Merci James pour ton aide ... Malheureusement ca ne marche pas même après avoir fermé Excel.

Lorsque, pour tester, je place la macro complète dans un module, Excel semble avoir des difficulté avec le " ME."

Y a autre chose qui bloque la macro et qui l'empêche de se lancer dès qu'un élement du workbook change mais je ne sais pas quoi ! Par contre au niveau de la sheet si je clique droit et lance la macro elle marche dans 100 % des cas ! Les joies de VBA je pense

Re,

Pour clarifier les choses ...

1. Toutes les macros "évènements" qui se déclenchent "toutes seules" ... quand un évènement survient ... doivent être placées dans le module de la Feuille ... et c'est pour cette raison que tu peux utiliser Me

2. Je ne vois pas ton fichier ... tu as choisi Worksheet_Calculate() comme évènement ... je ne sais pas si le bon ... ou pas ...???

3. Les macros standards, comme celle de la réinitialisation, sont à placer dans un module standard ...

Merci James je vais faire le tri dans tout ca et si ca marche pas je reviendrai avec le fichier !!

Un grand merci pour le temps que tu as pris à me lire !

Bonne journée

Merci pour tes gentils remerciements ...

Bonne Continuation ...

Rechercher des sujets similaires à "correction macro filtre automatique"