Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

XL 2016 Réaliser Filtre avancé et variables tableaux

KTM

XLDnaute Impliqué
Bonjour chers tous
J'ai élaboré une macro de filtrage avancé de ma feuille "Base" vers une feuille "Impr" que je vais plus tard imprimée.
La macro s'exécute bien mais avec des données importantes , elle deviendrait lente.
j'ai lu qu'avec des tableaux vba on gagnerait du temps précieux.
Je voudrais votre aide pour le faire et pouvoir l'adapter à d'autres situations.
Merci.
 

Pièces jointes

  • Classeur1.xlsm
    19.3 KB · Affichages: 7

chris

XLDnaute Barbatruc
Bonjour

Le filtre avancé est connu pour être hyper rapide et efficace

Inutile d'effacer la plage de destination : il s'en charge
Inutile de préciser la plage exacte
VB:
Sheets("Base").Range("A:F").AdvancedFilter....
suffit
 

mapomme

XLDnaute Barbatruc
Supporter XLD
Bonjour @KTM , @chris ,

Si vous tenez à du VBA avec array... Mais je doute que ça soit plus rapide qu'un filtre avancé.
Voir fichier...

250 000 lignes de données:

  • avec le filtre avancé => # 0,5 s (quelque soit le critère)
  • avec VBA et array() => # 0,8 s (fonction du critère - jusqu'à 1,1 s pour le critère TOUN1)
 

Pièces jointes

  • KTM- fintrer VBA- v1.xlsm
    25.9 KB · Affichages: 13
Dernière édition:

KTM

XLDnaute Impliqué
Bonjour @KTM , @mapomme , @chris ,

Je l'ai fait, je le joins. Appel de la macro se fait depuis Worksheet_Change (c-à-d au changement de la cellule "I6").
Merci
 
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…