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

Excel Discussion :

Filtre élaboré avec 2 classeurs


Sujet :

Excel

  1. #1
    Membre éprouvé Avatar de graphikris
    Homme Profil pro
    Pas tres doué
    Inscrit en
    Décembre 2012
    Messages
    1 215
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Pas tres doué
    Secteur : Conseil

    Informations forums :
    Inscription : Décembre 2012
    Messages : 1 215
    Par défaut Filtre élaboré avec 2 classeurs
    Bonjour,

    En matière de filtre élaboré, je n'ai pas de souci mais lorsqu'il s'agit de filtré une base de données en fonction des données d'une autre, là je ne sais plus faire.

    J'ai essayé de nommer des plages de la base secondaire puis de copier dans les filtres élaborés de la base principale mais çà ne fonctionne pas.

    Je dois créer une macro permettant de filtrer la base de données principale nommée : ECN Blanc inter region.xls, en fonction de données se trouvant dans une base de données secondaire nommée : Effectif Galileo.xls

    La base de données principale contient environ 2000 lignes puisqu'elle contient toutes les régions de France (UFR), alors que la base de données secondaires ne contient que les régions Rhône-Alpes (UFR également).

    La base de données secondaire contient :

    En colonne A : Nom
    En colonne B : Prénom
    En colonne C : UFR
    En colonne D : Cie

    La base principale commence en A7, elle contient :

    En colonne A : UFR
    En colonne B : Nom
    En colonne C : Prénom
    Puis de colonne D à P : données confidentielles

    Comment créer cette macro qui me permettrait d'extraire ces données?

    Cordialement,
    Graphikris

  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 114
    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 114
    Billets dans le blog
    53
    Par défaut
    Bonjour,
    Le filtre élaboré se gère de la même manière que ce soit sur le même classeur ou sur un classeur différent.
    Les zones des données, de critères et d'exportation peuvent toutes les trois se trouver à des endroits différents. Il suffit juste de définir ces zones
    Exemple d'une exportation de données se trouvant sur le classeur où se situe le code VBA (les zones data feuille nommée [db] et zone critères feuille nommée [Critères]) vers une feuille nommée [Export] d'un classeur nommé ClasseurExport.xls. Les étiquettes de colonnes de la zone d'exportation ne devant toutes être exportées et étant dans un ordre différents, il faut définir la zone où se trouve celles-ci (pour l'exemple A1:I1)
    Procédure
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    Sub Export()
     Dim areaSource As Range, areaTarget As Range, areaCriteria As Range
     With ThisWorkbook
      Set areaSource = .Worksheets("db").Range("A1").CurrentRegion  ' Zone des données
      Set areaCriteria = .Worksheets("Critères").Range("A1:A2")           ' Zone des critères
     End With
     Set areaTarget = Workbooks("ClasseurExport.xls").Worksheets("Export").Range("A1:I1") ' Zone d'exportation avec définition des étiquettes de colonnes
     areaSource.AdvancedFilter xlFilterCopy, areaCriteria, areaTarget ' Exportation
     Set areaSource = Nothing: Set areaTarget = Nothing: Set areaCriteria = Nothing
    End Sub
    Il est bien entendu possible de prévoir dans la procédure d'ajouter les données à la suite de données existantes et de prévoir également de copier les étiquettes de colonnes dans la zone d'exportation.

    A lire éventuellement Les filtres avancés ou élaborés dans Excel

    [EDIT]
    Dans cet exemple, il est bien entendu que les deux classeurs doivent être ouverts
    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. Filtre élaboré avec une sélection copié en vba
    Par Sherman750 dans le forum Macros et VBA Excel
    Réponses: 18
    Dernier message: 31/10/2012, 18h06
  2. Filtre élaboré avec critère d'inégalité
    Par ninikosim dans le forum Excel
    Réponses: 6
    Dernier message: 07/07/2011, 21h55
  3. [XL-2007] faire un filtre élaboré avec 2 criteres sur la meme colonne
    Par sebing dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 08/02/2011, 12h35
  4. [XL-2003] Comment maintenir le résultat un filtre élaboré avec un userform
    Par MichaSarah dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 05/12/2010, 10h32
  5. filtre élaboré avec une plage critere differente
    Par freed07 dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 21/01/2009, 21h20

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