XL 2013 Macro VBA: Utiliser toutes les valeurs d'un filtre les unes après les autres?

Quitus

XLDnaute Nouveau
Bonjour,
J'ai besoin d'utiliser toutes les valeurs d'un filtre les unes après les autres. J'avais mis mes valeurs fixe dans un tableau et avec un For j'exécutais mes instruction filtrées pour chacune d'entre elles cependant celle-ci sont amenés à changer donc j'aimerais savoir si vous avez une macro pour réaliser ce filtre pour toutes les données du filtre.
 

Dudu2

XLDnaute Accro
Bonjour,
Je crois qu'il faut faire comme indiqué ici.
Copier la colonne quelque part et faire un Range.RemoveDuplicates, puis exploiter les valeurs de la colonne de travail.
Ou alors tu travailles en mémoire, tu copies la colonne dans un tableau (Dim Tableau as Variant: Tableau = Colonne.Value), tu tries le tableau si la colonne ne l'est pas déjà et tu ignores / passes les doubles en parcourant le tableau. Si la colonne est déjà triée, ça peut être une solution très rapide, un peu moins si tu dois faire un tri.
 

Quitus

XLDnaute Nouveau
J'avoue que c'est une bonne idée! Merci dudu2 je vais m'en inspirer.
Toujours preneur pour d'autre solution
 

Dranreb

XLDnaute Barbatruc
Bonjour.
J'ai deux modules de service qui savent établir ce genre de chose: l'une pour une seule colonnes, c'est la fonction SujetCBx du complément fourni ici, l'autre c'est ma fonction Gigogne, qui peut l'établir pour plusieurs colonnes hiérarchisées.
 

Fichiers joints

Dudu2

XLDnaute Accro
Hello,
Je viens de m'intéresser aux méthodes de tris pour améliorer mon antique tri par permutations de valeurs très peu performant comparé aux fusées que sont les ShellSort et QuickSort que j'ai placés dans le classeur joint avec une démo de tri de 100.000 valeurs sur la colonne A.
 

Fichiers joints

Dernière édition:

Dranreb

XLDnaute Barbatruc
Pour information: mes fournitures utilisent un algorithme d'indexation par fusions utilisant une collection, encore légèrement plus rapide, et qui a l'avantage de se ramener à une simple vérification séquentielle si l'ensemble est déjà classé.
 

Dudu2

XLDnaute Accro
Je me suis principalement intéressé au tri.

Et en utilisant la fonction WorksheetFunction.Transpose qui a un comportement particulier sur les changements de dimensions qui permet de l'utiliser avec bénéfice sur les tableaux issus de Ranges, j'ai constaté par hasard qu'elle est limitée à 41248 éléments de tableau !
J'ai don dû écrire une fonction TransposeExcel qui a le même comportement en terme de changements de dimensions mais qui n'a pas cette limite stupide et non documentée.
 

Créez un compte ou connectez vous pour répondre

Vous devez être membre afin de pouvoir répondre ici

Créer un compte

Créez un compte Excel Downloads. C'est simple!

Connexion

Vous avez déjà un compte? Connectez vous ici.

Haut Bas