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 :

Filtre élaboré dont les critères se trouvent dans un autre classeur


Sujet :

Macros et VBA Excel

  1. #1
    Membre confirmé
    Homme Profil pro
    Inscrit en
    Août 2012
    Messages
    187
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations forums :
    Inscription : Août 2012
    Messages : 187
    Par défaut Filtre élaboré dont les critères se trouvent dans un autre classeur
    Bonjour,

    J'ai un petit problème de syntaxe et je ne trouve rien sur les différents forum, même pas dans la super formation de Philippe Tulliez.

    Je voudrais effectuer en VBA un filtre élaboré sur les données d'un classeur avec une zone de critères placée dans un autre classeur.
    Quand j'utilise ceci, j'ai un message d'erreur :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
        ActiveWorkbook.Worksheets(TsrTabTravail).Range(Cells(1, 1), Cells(TsrNbMaxLigne, TsrNbCol)).AdvancedFilter Action:=xlFilterInPlace, _
        CriteriaRange:=Workbooks(StaFichOri).Sheets("Status code").Range("A1:A15"), Unique:=False
    Ce filtre a déjà fonctionné avec succès sans la partie en gras italique. Quelqu'un peut-il me donner la bonne syntaxe svp ?

    Merci d'avance.

    Henri

  2. #2
    Rédacteur
    Avatar de Philippe Tulliez
    Homme Profil pro
    Formateur, développeur et consultant Excel, Access, Word et VBA
    Inscrit en
    Janvier 2010
    Messages
    13 218
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Formateur, développeur et consultant Excel, Access, Word et VBA

    Informations forums :
    Inscription : Janvier 2010
    Messages : 13 218
    Billets dans le blog
    53
    Par défaut
    Bonjour,
    Je vois un problème dans la première ligne du code et c'est une erreur fréquente les deux objets Cells sont orphelins, ils ne sont pas rattachés à leurs parents (classeur + la feuille)
    Ceci est plus sûr
    Attention écrit de mémoire donc non testé
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    With ActiveWorkbook.Worksheets(TsrTabTravail)
    .Range(.Cells(1, 1), .Cells(TsrNbMaxLigne, TsrNbCol)).AdvancedFilter Action:=xlFilterInPlace, _
         CriteriaRange:=Workbooks(StaFichOri).Sheets("Status code").Range("A1:A15"), Unique:=False
    End With
    Philippe Tulliez
    Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément. (Nicolas Boileau)
    Lorsque vous avez la réponse à votre question, n'oubliez pas de cliquer sur et si celle-ci est pertinente pensez à voter
    Mes tutoriels : Utilisation de l'assistant « Insertion de fonction », Les filtres avancés ou élaborés dans Excel
    Mon dernier billet : Utilisation de la fonction Dir en VBA pour vérifier l'existence d'un fichier

  3. #3
    Membre confirmé
    Homme Profil pro
    Inscrit en
    Août 2012
    Messages
    187
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations forums :
    Inscription : Août 2012
    Messages : 187
    Par défaut
    Cher Monsieur Tulliez, si j'osais... cher Philippe,

    Si vous n'existiez pas, je n'aurais pas eu assez de talents pour vous inventer, mais j'aurais fait appel à de la main d'oeuvre qualifiée !

    Ça marche, ça fonctionne, ça roule !
    Mais en quoi le fait de présenter les choses comme vous l'avez fait est différent de ce que j'avais fait ??

    Si cela vous mange trop de temps, n'hésitez pas à ne pas répondre, mais de temps en temps, élargir mon champ de connaissance me fait plaisir !

    Belle soirée et bien entendu MERCI !

  4. #4
    Rédacteur
    Avatar de Philippe Tulliez
    Homme Profil pro
    Formateur, développeur et consultant Excel, Access, Word et VBA
    Inscrit en
    Janvier 2010
    Messages
    13 218
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Formateur, développeur et consultant Excel, Access, Word et VBA

    Informations forums :
    Inscription : Janvier 2010
    Messages : 13 218
    Billets dans le blog
    53
    Par défaut
    Bonjour cher Henri,
    Je rougis à la lecture de tant d'éloges.
    Si cela vous mange trop de temps, n'hésitez pas à ne pas répondre, mais de temps en temps, élargir mon champ de connaissance me fait plaisir
    La différence comme je l'ai expliqué et mis en rouge et en gras dans le code.
    Le point qui préfixe l'objet Cells dans le bloc With...End With permet de le rattacher à son parent le classeur actif et la feuille dont le nom est défini par la variable ou la constante TsrTabTravail soit ActiveWorkbook.Worksheets(TsrTabTravail)
    Sans ce point, le parent de Cells est la feuille active et son classeur parent
    Philippe Tulliez
    Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément. (Nicolas Boileau)
    Lorsque vous avez la réponse à votre question, n'oubliez pas de cliquer sur et si celle-ci est pertinente pensez à voter
    Mes tutoriels : Utilisation de l'assistant « Insertion de fonction », Les filtres avancés ou élaborés dans Excel
    Mon dernier billet : Utilisation de la fonction Dir en VBA pour vérifier l'existence d'un fichier

Discussions similaires

  1. Réponses: 11
    Dernier message: 19/10/2017, 16h40
  2. [XL-2010] Copier les cellules d'une colonne dont la valeur à changé dans une autre colonne
    Par caeruleum dans le forum Macros et VBA Excel
    Réponses: 0
    Dernier message: 23/09/2012, 22h01
  3. Réponses: 2
    Dernier message: 05/08/2009, 10h30
  4. Réponses: 2
    Dernier message: 05/03/2008, 16h12
  5. lster userform.combobox avec les infos dans un autre classeur
    Par dkmix dans le forum Macros et VBA Excel
    Réponses: 5
    Dernier message: 08/10/2007, 22h53

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