VBA Mémoriser les critères d'un Autofilter

Besnard68

XLDnaute Occasionnel
Bonsoir Forum,

Est' il possible de capter dans des variables les critères d'un Autofilter à un instant T, pour pouvoir après coup les remettre en place ?

Je m'explique :

J'ai un Autofilter en place, avec des critères, mais qui ne sont pas toujours identiques bien entendu.
Je souhaiterais pouvoir stocker ces fameux critères, désactiver (ou simplement initialiser) l'Autofilter afin de pouvoir exploiter la liste complète, puis enfin, repositionner les critères de filtre qui étaient en place juste avant.

Autant c'est relativement aisé de définir des critères stockés dans des variables, autant en sens inverse je donne ma langue au chat.

Merci aux bonnes âmes qui pourront m'éclairer de leurs lumières.

Cordialement
 

Besnard68

XLDnaute Occasionnel
Re : VBA Mémoriser les critères d'un Autofilter

Bonsoir


Pourquoi ne pas utiliser le filtre élaboré en lieu et place du filtre automatique ?

Bonsoir Staple1600,

Non, parce que la feuille contenant le filtre automatique est un support de travail utilisé par une personne qui n'a pas la connaissance pour manipuler le filtre élaboré.

Comme je l'ai indiqué dans mon 1er file, je lui laisse le choix d'imprimer soit la liste limitée à ses seuls critères sélectifs de filtre, soit (et c'est la que ça se corse) la liste complète sans aucune restriction (aucun critère actif) ; ensuite, elle doit retrouver ses fameux critères sélectifs comme si elle ne les avait jamais quittés.

NB : Tout ceci étant bien entendu géré en automatique via VBA.

Merci malgré tout.
 

Staple1600

XLDnaute Barbatruc
Re : VBA Mémoriser les critères d'un Autofilter

Re



Comme j'ai passé un peu de temps à poster un fichier exemple

je te le poste (Y'a du VBA dedans)

PS: sans voir un fichier exemple (avec des données fictives) mais reproduisant le mode de fonctionnement de l'original (formules+ macros), on serait plus à même de t'aider.
 

Besnard68

XLDnaute Occasionnel
Re : VBA Mémoriser les critères d'un Autofilter

Bonsoir Forum, Bonsoir Staple1600,

Je te remercie Staple d'avoir pris la peine de t'investir dans la construction d'un exemple visant à la démonstration d'un filtre élaboré, surtout à une heure aussi tardive (on reconnait bien la les inconditionnels qui ne comptent pas leur temps, et qui plus est, de façon bénévole).

Mais dans mon cas, je réïtère le fait que les utilisateurs travaillent sur une base qui est réactualisée très très régulièrement et les critères de filtre ne peuvent donc être figés ; je précise de plus qu'ils leur est loisible de les utiliser ou pas (c'est une facilité de travail).

C'est aussi pour cela que ma question me semblait claire et ne nécessitait pas de joindre un fichier exemple qui n'aurait, sauf erreur, rien apporté de plus.


L'objet de ma question était qu'à supposer qu'ils utilisent cette fonctionnalité à un instant T, et qu'ils souhaitent malgré imprimer la liste complète, je souhaitait pouvoir leur permettre de retrouver malgré tout leur liste telle qu'ils l'avait laissée (c'est-à-dire avec le filtre et les critères).

D'où le besoin de savoir s'il y a possibilité de mémoriser lesdits critères via le stockage dans des variables (ou bien même dans des cellules de la feuille de travail).
A priori, vu l'absence de réponse sur ce forum et mes propres recherches restées infructueuses, j'en déduis que ce n'est pas possible.

J'ai donc trouvé une autre alternative à mon problème, que je vais expliquer car cela peut servir à d'autres personnes.

En fait c'est très simple :

- Je duplique d'abord l'onglet contenant la liste de travail contenant le filtre automatique,
- Je travaille ensuite sur ce seul onglet dupliqué et réinitialise ou pas les critères de filtre, selon que l'utilisateur souhaite une liste complète ou limitée à la sélection filtrée, et l'imprime,
- Je supprime enfin ledit onglet dupliqué (en neutralisant le message d'alerte, pour être complètement transparent et ne pas perturber l'utilisateur),
- Et me voici revenu sur mon onglet principal avec le filtrage tel que je l'avais laissé au début de la manoeuvre (et pour cause, puisque je ne l'ai pas du tout touché ;) ! ).

Encore merci Staple1600 pour ton investissement dans ce forum et tes posts constructifs qui apportent une valeur ajoutée certaine.

Très cordialement
 

Statistiques des forums

Discussions
312 488
Messages
2 088 843
Membres
103 972
dernier inscrit
steeter