Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

[VBA] Evenement suite à modification d'un filtre

6 réponses
Avatar
HD
Bonjour,

Je voudrais pouvoir lancer une macro pour mettre à jour le calcul sur ma
feuille lorsqu'un filtre situé sur cette même feuille est modifié.

Le souci est que l'événement Worksheet_Change n'est pas pris en compte lors
de la modification des critères d'un filtre...

Avez vous une solution pour détecter l'événement de la modification d'un
filtre ?

Merci d'avance pour votre aide,

@+
HD

6 réponses

Avatar
DanielCo
Bonjour,
Mettons qu'une colonne filtrée soit la colonne D; dans une cellule,
mets :
=SOUS.TOTAL(103;D:D)
et utilise l'a macro événementielle :
Worksheet_Calculate()
Cordialement.
Daniel


Bonjour,

Je voudrais pouvoir lancer une macro pour mettre à jour le calcul sur ma
feuille lorsqu'un filtre situé sur cette même feuille est modifié.

Le souci est que l'événement Worksheet_Change n'est pas pris en compte lors
de la modification des critères d'un filtre...

Avez vous une solution pour détecter l'événement de la modification d'un
filtre ?

Merci d'avance pour votre aide,

@+
HD
Avatar
HD
=SOUS.TOTAL(103;D:D)
et utilise l'a macro événementielle :
Worksheet_Calculate()



J'ai oublié de préciser... le classeur contient énormément de données et du
coup le calcul automatique a été désactivé ce qui fait que l'événement
Worksheet_Calculate n'agit pas.

@+
HD
Avatar
MichD
Bonjour,

Pourquoi ne pas utiliser le filtre avancé (élaboré).

Tu détermines la zone de critère, et dès que tu
modifieras le contenu modifiant le contenu de
la cellule contenant le critère, l'événement suivant
de la feuille réagira.

'-------------------------------
Private Sub Worksheet_Change(ByVal Target As Range)
'En supposant que B1 soit la cellule contenant le critère!
If Not Intersect(Target, Range("B1")) Is Nothing Then
'ton code
End If

End Sub
'-------------------------------

MichD
---------------------------------------------------------------
Avatar
Stéphane LEPAGE
Bonjour,

Tu as une solution sur développez.com en utilisant un module de classe pour créer un événement lié l'utilisation du filtre automatique
Il faut y être inscrit pour charger le classeur.

http://excel.developpez.com/faq/?page=Filtre

Regarde en fin de la rubrique
-Comment identifier l'utilisation d'un filtre dans la feuille de calcul ?


Cordialement.

--
LSteph
Avatar
HD
Tu as une solution sur développez.com en
utilisant un module de classe pour créer un
événement lié l'utilisation du filtre automatique
Il faut y être inscrit pour charger le classeur.
http://excel.developpez.com/faq/?page=Filtre
Regarde en fin de la rubrique
Comment identifier l'utilisation d'un filtre dans
la feuille de calcul ?



Je suis inscrit sur ce forum et j'ai jeté un oeil sur ce code mais il ne
fonctionne que si le calcul automatique est activé... ce qui n'est pas le
cas ici.

@+
HD
Avatar
isabelle
bonjour HD,

une autre solution serait de recalculer uniquement la feuille active
MAJ + F9.


isabelle


Le 2013-07-15 10:57, HD a écrit :
Tu as une solution sur développez.com en
utilisant un module de classe pour créer un
événement lié l'utilisation du filtre automatique
Il faut y être inscrit pour charger le classeur.
http://excel.developpez.com/faq/?page=Filtre
Regarde en fin de la rubrique
Comment identifier l'utilisation d'un filtre dans
la feuille de calcul ?



Je suis inscrit sur ce forum et j'ai jeté un oeil sur ce code mais il ne
fonctionne que si le calcul automatique est activé... ce qui n'est pas le
cas ici.

@+
HD