VBA Automatisation d'un filtre avancé

  • Initiateur de la discussion Initiateur de la discussion Diazz
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

D

Diazz

Guest
Bonjour,

J'ai créé une macro toute bête, qui fonctionne très bien quand je la lance depuis la feuille Excel, mais qui plante quand je la lance depuis VBA 😕

Range("A1:B20315").AdvancedFilter Action:=xlFilterCopy, CopyToRange:=Range("E1:F1"), Unique:=True

Message d'erreur : "the extract range has a missing or illegal field name"


Auriez-vous une idée ?

Merci pour votre diligence à me répondre !

Le problème c'est que j'en ai besoin pour ce soir avant de partir en vacances ....🙁
 
Re : VBA Automatisation d'un filtre avancé

Bonjour,

peut être préciser le nom de la feuille :
Code:
Sheets("NomFeuille").Range("A1:B20315").AdvancedFilter Action:=xlFilterCopy, CopyToRange:=Sheets("NomFeuille").Range("E1:F1"), Unique:=True

voir préciser également l'bjet "workbook" si celui ci n'est pas le classeur actif...

bon après midi
@+

Edition : aarf un "sheets" avait sauté....
 
Dernière édition:
Re : VBA Automatisation d'un filtre avancé

Bonjour,
Ton code VBA fonctionne bien sur un tableau de 300 lignes avec 2 noms de champs bien définis en A1 et B1
Essaie aussi avec :
Range("A1:B20315").AdvancedFilter Action:=xlFilterCopy, CopyToRange:=Range("E1"), Unique:=True

Salutations
Robert
 
Re : VBA Automatisation d'un filtre avancé

RE bonjour,

Désolé de ne pas avoir donné de nouvelles : en réunion ...

J'ai fait une compilation des 2; avec

WSH_TRAVAIL.Range("A1:B20315").AdvancedFilter Action:=xlFilterCopy, CopyToRange:=Range("E1"), Unique:=True

mais toujours le même message d'erreur.🙁

Herdet, je ne colmprends pas top le sens de ta réponse....
J'e nai bien que 2 colonnes en entrée...
 
Re : VBA Automatisation d'un filtre avancé

Oui, nous sommes bien d'accord, source colonnes A et B sur 20315 lignes et résultats dans colonne E et F
J'ai juste proposé Range("E1") au lieu de Range("E1:F1") pour tester.

Peux-tu joindre un fichier exemple avec juste quelques dizaines de lignes de la feuille concernée ?
Quelle version d'Excel est utilisée ?

En principe c'est Sheets("WSH_TRAVAIL").Range("A1:B20315").... à moins que WSH_TRAVAIL soit le nom de la feuille que tu as renommée dans le code VBA
Robert
 
Dernière édition:
Re : VBA Automatisation d'un filtre avancé

Je suis en train de tester sur des volumétries un peu plus importantes en ayant spécifier la feuille de destination.

Je teste avec la ligne :

WSH_TRAVAIL.Range("A1:B20315").AdvancedFilter Action:=xlFilterCopy, CopyToRange:=WSH_TRAVAIL.Range("E1"), Unique:=True



Oui WSH_TRAVAIL est mon objet feuille dans VBA.

Pour l'instant il semblerait que cela tienne ... je croise les doigts ...
 
Re : VBA Automatisation d'un filtre avancé

A essayer :

Application.ScreenUpdating = False
With WSH_TRAVAIL
Set tbl = .Cells(2, 1).CurrentRegion
tbl.AdvancedFilter Action:=xlFilterCopy, CopyToRange:=.Range("E1"), Unique:=True
End With
Application.ScreenUpdating = True

Testé sur 35000 lignes ==> 0,5 seconde de traitement

Robert
 
Dernière édition:
Re : VBA Automatisation d'un filtre avancé

Bon,
Et bien, il sembelrait que cela tienne la route 😱

Herdet : en fait j'ai 620 000 lignes dans ma base, et il me faut 2 heures pour générer le tableau de 2 colonnes (j'ai plein d'autres tables, de traitements, de TCD, ....). En tout cas, je retiens ta seconde solution, au cas où ...

Sinon Herdet et Pierrot93, un grand MERCI à vous deux !

Il ne faut pas que je crie victoire trop vite, mais en tout cas, vous m'avez énormément aidé !! Très rapidement, c'est super !

Merci

A bientôt pour de "nouvelles aventures" peut-être ....
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD
Assurez vous de marquer un message comme solution pour une meilleure transparence.

Discussions similaires

K
Réponses
3
Affichages
913
S
Réponses
5
Affichages
861
M
Réponses
2
Affichages
979
M
D
Réponses
4
Affichages
5 K
R
Réponses
2
Affichages
915
RomaneK
R
T
Réponses
3
Affichages
1 K
T
D
Réponses
5
Affichages
3 K
T
Réponses
7
Affichages
7 K
Philippe Tulliez
P
M
Réponses
9
Affichages
2 K
I
Réponses
7
Affichages
2 K
I
Retour