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.
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.
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.
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.
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é.
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.