Automatisation filtre avancé sur un autre onglet

Bonjour,

Je souhaite automatiser un processus de filtre avancé et copier le résultats vers un autre onglets.

Je veux de manière précise filtrer selon une date des informations dans ma base de donnée et récupérer le résultats de ma base filtrer pour la copier vers un autre onglet.

Tous cela est possible grâce au filtre avancé d'Excel avec la possibilité en plus via l'enregistreur de macro d'automatiser le processus.

Mon problème est que cela ne marche pas sur mon fichier original. Ou plutôt si, si on considère seulement l'étape ou j'utilise le filtre avancé. Mais quand je veux refaire le processus à l'aide de VBA cela coince. j'ai essayé de nommer mes plages, mettre les références exactes dans les paramètres du filtre avancé. Rien n'y fait.

Et chose étrange lorsque j'ai préparé un fichier simplifié pour une éventuel aide de votre part sur le net, cela fonctionne. Je me demande donc si cela est à cause du grand nombre de donnée?

Je vous transmet le code de mon fichier original. Je ne vois aucune différence avec le code du fichier que je vous transmet par ailleurs.

CODE FICHIER ORIGINAL

Sub Coller_prestations_n1()

'

' Coller_prestations_n1 Macro

'

Range("B8:X16").Select

Range(Selection, Selection.End(xlDown)).Select

Selection.Clear

Sheets("Résultats individuels").Range("B4:Z1048576").AdvancedFilter Action:= _

xlFilterCopy, CriteriaRange:=Range("AA7:AA8"), CopyToRange:=Range("B7:X7") _

, Unique:=False

End Sub

J'ai besoin d'aide.please

10filtre-avance.xlsm (90.54 Ko)

Bonjour,

Tu dosi simplement faire attention à définir complètement tes plages .. en explicitant la feuiile juste avant ...

Bonjour,

ceci fonctionne ici

Sub PRESTA()
Sheets("Retraite N+1").Select
Range("B8:X23").Select
Range(Selection, Selection.End(xlDown)).Select
Selection.ClearContents
Sheets("Résultats individuels").Range("B4:Z1048576").AdvancedFilter Action:= _
xlFilterCopy, CriteriaRange:=[criteres], CopyToRange:=[extraire], Unique:=False
End Sub

Coucou James

bonjour

salut James, Patrick

j'ai horreur de "recopier"

donc j'utilise un TCD comme filtre

voir mon exemple

on peut ensuite ajouter des segments

pas de VBA !

aucune formule

un exemple partiel pour montrer le principe :

25filtre-avance.xlsx (95.77 Ko)

Je retiens l'idée

Mais le problème c'est que la base de donnée est modifié tout le temps et en plus le fichier à destination de client, un TCD c'est souvent modifiable et pas très propre.

Mais si cela ne marche pas l'option vba, pourquoi pas..

J'ai explicité mes plages (choses que j'avais faite auparavant déjà) et cela ne fonctionne toujours pas. D'ailleurs sur le fichier envoyé ou cela marche, elles ne sont pas toutes explicité et cela fonctionne.

Mais c'est vrai que c'est mieux

Voici le code :

Sub Coller_prestations_n1()

'

' Coller_prestations_n1 Macro

'

'

Sheets("Retraite N+1").Range("B8:X16").Select

Range(Selection, Selection.End(xlDown)).Select

Selection.Clear

Sheets("Résultats individuels").Range("B4:Z1048576").AdvancedFilter Action:= _

xlFilterCopy, CriteriaRange:=Sheets("Retraite N+1").Range("AA7:AA8"), CopyToRange:=Sheets("Retraite N+1").Range("B7:X7") _

, Unique:=False

End Sub

Je retiens l'idée

Mais le problème c'est que la base de donnée est modifié tout le temps et en plus le fichier à destination de client, un TCD c'est souvent modifiable et pas très propre.

Mais si cela ne marche pas l'option vba, pourquoi pas..

un TCD c'est hyper propre

si tu veux envoyer par mail à des personnes qui vont trafiquer le TCD, fige-le ! tu peux :

  • faire un pdf
  • ou bien copier le TCD, coller spécial valeur pour avoir un Excel modifiable ou copiable par le client. Cette petite manoeuvre si tu la fais souvent, tu peux l'enregistrer en macro.
  • ou bien mettre un mot de passe sur ton classeur

Savez vous si le problème pourrez venir du gran nombre de donnée dans le fichier original?

En effet sur le fichier transmis toutes les colonnes vides contienne normalement des données

parce que c'est tout de même troublant que sur un fichier simplifié cela marche et pas sur l'original. D'autant plus que le processus de filtre avancé marche lorsque je ne passe pas par VBA. C'est une fois que je veux appliquer mon code vba après l'enregistreur de macro à l'arret que cela coince

Salut Patrick ...

Salut jmd ...

Bonjour,

Le grand nombre de données n'a pas de rapport ...

Les deux solutions proposées doivent fonctionner ...

Pourrais-tu poster ton fichier avec https://www.cjoint.com/ ...

J'ai mis le fichier original sous ce lien :

Si quelqu'un pourrait me solutionner le bug/erreur je lui en saurait très reconnaissant.

Merci

l'idée c'est de gagner 30 seconde dans le process.

Au lieu de filtrer sur onglet individuelle par rapport à la date et de copier coller sur l'onglet Retraite N+1 ensuite. Sa serait juste de cliquer sur un bouton et que vba le fasse à la place car la BD change souvent ainsi que le critère de date

re à tous

mettre à jour un TCD prend au moins 2 secondes. En tout.

Pourrais-tu poster ton fichier avec https://www.cjoint.com/ ...

James... perso , si le fichier n'est pas trop lourd, il est toujours préférable de le déposer ici, on sait le revoir plus tard alors qu'avec cjoint, il s'évapore

Bon dimanche à tous

P.

Salut Patrick ...

C'est uniquement parce que kdurteste a dit qu'il utilisait d'un 1 million de lignes que je lui ai conseillé cjoint ...

@ kdurteste

Ce n'est pas vraiment ta macro qui pose problème ... mais la confusion entre Texte et Date ...

Les dates sont des nombres ... donc ta cellule F10 dans l'onglet Paramètres qui te set de critère ne peut pas être ...au format texte ...

Ci-joint ton fichier corrigé ...en Version 2 ...

Par ailleurs, je suis étonné de ne pas voir de Duration Modifiée ni de Convexité ... dans ton fichier ...

Bonjour,

Merci d'avoir solutionner le problème. Tous sa à cause d'un foutu apostrophe avant la date sur l'onglet paramètre. Pourtant excel l'affichait au format date mais devais le considérer en texte.

Je considère le problème résolu. Mais a tu une idée quand même de comment afficher ce qu'il y a dans la cellule de critère au format date parceque là mtn c'est en nombre (pas très lisible..)?

Merci encore

Bonjour,

Content que cela corresponde à ton attente ...

Comme demandé ... j'ai retiré le lien vers ton fichier ...

En ce qui concerne l'affichage du Paramètre ...en ' mode lisible ' ... ci-joint une proposition ...

Avec le nouveau Forum ... ..... ... tu as la possibilité d'indiquer que tu as apprécié l'aide en cliquant sur le coeur ...en bas à droite ...

12test-retraite.xlsx (16.78 Ko)

Ok, merci beaucoup.

Concernant la proposition d'affichage de la date, je vais l'utiliser mais je vais aussi créer une autre cellule spécial content la date du critère car cela me met le même bordel sur d'autre onglet aussi de pas mettre d'apostrophe en fait

Re,

Content que tu aies pu résoudre ton problème ...

Merci pour tes remerciements ...ET pour avoir cliqué sur le ... ...

Rechercher des sujets similaires à "automatisation filtre avance onglet"