IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Macros et VBA Excel Discussion :

automatisation filtre avancé sur un autre onglet


Sujet :

Macros et VBA Excel

  1. #1
    Nouveau Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Février 2014
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 34
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2014
    Messages : 2
    Points : 1
    Points
    1
    Par défaut automatisation filtre avancé sur un autre onglet
    Bonjour,

    Je souhaite automatiser un processus de filtre avancé et copier le résultat vers un autre onglets.
    Je veux de manière précise filtrer selon une date des informations dans ma base de données 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ées?

    Je vous transmet le code de mon fichier original. Je peux également vous joindre un fichier simplifié (ou cela marche en plus)

    CODE FICHIER ORIGINAL

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    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

  2. #2
    Membre chevronné
    Inscrit en
    Septembre 2007
    Messages
    1 134
    Détails du profil
    Informations forums :
    Inscription : Septembre 2007
    Messages : 1 134
    Points : 1 808
    Points
    1 808
    Par défaut
    Bonjour,

    Tu peux supprimer le 3 premières lignes qui ne servent à rien.

    Si ton exemple fonctionne c'est que les paramètres sont corrects

    Si dans ton fichier cela ne fonctionne pas c'est que tu as des anomalies dans les critères (peut-être des espaces intempestifs).

    Une bonne façon de faire est de remplir les lignes titres critères et résultats avec une formule "=la rubrique base"
    ainsi tu n'as pas de souci de correspondance.

  3. #3
    Nouveau Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Février 2014
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 34
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2014
    Messages : 2
    Points : 1
    Points
    1
    Par défaut
    Bonjour,

    J'ai copier-coller le code vba de mon exemple de fichier qui marche, sur l'original. Et bizarement cela ne fonctionne pas. Normalement celui-ci est bien écrit. Les nom de feuille et plages sont les mêmes pourtant.

    Et j'ai besoin des 3 premières lignes car la base de donnée change tout le temps, donc le filtre aussi. C'est pour "nettoyer" ma zone d'extraction!

  4. #4
    Membre extrêmement actif
    Homme Profil pro
    aucune
    Inscrit en
    Avril 2016
    Messages
    7 563
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 83
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : aucune

    Informations forums :
    Inscription : Avril 2016
    Messages : 7 563
    Points : 12 433
    Points
    12 433
    Par défaut
    Bonjour
    Aux plages de quelle feuille se réfèrent les objets range invoqués ici ? :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    CriteriaRange:=Range("AA7:AA8"), CopyToRange:=Range("B7:X7")

Discussions similaires

  1. Mettre le focus sur un autre onglet
    Par Jazz_ dans le forum VBA Access
    Réponses: 1
    Dernier message: 15/07/2010, 17h24
  2. Recherche d'une valeur sur un autre onglet
    Par elfye dans le forum Excel
    Réponses: 10
    Dernier message: 03/03/2008, 14h45
  3. Réponses: 1
    Dernier message: 27/11/2007, 12h38
  4. Accéder à la valeur d'un champ sur un autre onglet
    Par otravaglini dans le forum Access
    Réponses: 1
    Dernier message: 15/12/2006, 19h02
  5. "Requête filtre avancé" sur formulaire
    Par Thoomas dans le forum IHM
    Réponses: 1
    Dernier message: 24/11/2006, 17h21

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo