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 avancé selon un critère situé dans une cellule [XL-2007]


Sujet :

Excel

  1. #1
    Futur Membre du Club
    Inscrit en
    Juillet 2009
    Messages
    21
    Détails du profil
    Informations forums :
    Inscription : Juillet 2009
    Messages : 21
    Points : 9
    Points
    9
    Par défaut Filtre avancé selon un critère situé dans une cellule
    Bonjour tout le monde

    Sur la feuille 2 j'ai un tableau répertoriant des commandes, il ressemble grossièrement à ça :


    (oui, j'ai le ventre qui gargouille, c'est midi )

    Sur la feuille 1, par l'intermédiaire d'une liste déroulante (automatisée à partir de la colonne A) je souhaire pouvoir afficher toutes les commandes d'un même client.
    Par exemple, en D12, une liste déroulante contient les différents clients. En en sélectionnant un, j'affiche le résumé de ses commandes (code, modèle et prix) à partir de C15, D15 et E15 (C16, D16, E16 si nécessaire, etc)


    Une fonction me semblait indiquée : le filtre avancé. Seul problème, il est impossible de sélectionner une cellule comme critère de sélection, seulement une valeur. Peut-être que c'est faisable en utilisant une combinaison de fonction SI et de RECHERCHEV à la place, mais j'ai essayé des tonnes de trucs depuis hier sans réussir à avancer.



    2e problème : je n'arrive pas à limiter la liste déroulante (validation de données -> liste) à seulement une occurrence par client. J'ai bien créé une autre colonne en filtrant les doublons, mais les espaces entre les 1ères occurrences de chaque client demeurent dans la liste.

    Je précise que je suis assez hermétique au VBA... Enfin j'imagine qu'il n'y aura pas besoin d'aller jusque là pour solutionner mon problème.

    D'avance, merci à vous

  2. #2
    Membre émérite Avatar de Fvandermeulen
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juillet 2007
    Messages
    1 869
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Juillet 2007
    Messages : 1 869
    Points : 2 662
    Points
    2 662
    Par défaut
    Salut,
    Tu dis être hermétique au VBA...es-tu hermétique au Tableau Croisé Dynamique?
    Un TCD semble être tout indiqué dans ton cas, plus besoin de liste, filtre, fonctions élaborées,...

    Bon ap'

    A+
    N'oubliez pas le si votre problème est solutionné.

  3. #3
    Futur Membre du Club
    Inscrit en
    Juillet 2009
    Messages
    21
    Détails du profil
    Informations forums :
    Inscription : Juillet 2009
    Messages : 21
    Points : 9
    Points
    9
    Par défaut
    Non je n'y suis pas hermétique, mais à vrai dire je ne pense pas que ce soit exactement ce qu'il me faut. Je m'explique.

    Cette feuille 2, c'est celle qui regroupe toutes les informations à propos de toutes les commandes.

    La feuille 1 est une lettre. Elle est mise en forme et permet, en sélectionnant le destinataire (en l'occurrence le client) de lister ses commandes proprement à l'intérieur d'un court texte.

    M. ROGER (liste déroulante),

    Voici le récapitulatif de vos commandes :

    TABLEAU
    TABLEAU
    TABLEAU

    Cordialement,

    Grossebouffe

    Enfin à moins que je t'aie mal compris, of course.

  4. #4
    Membre émérite Avatar de Fvandermeulen
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juillet 2007
    Messages
    1 869
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Juillet 2007
    Messages : 1 869
    Points : 2 662
    Points
    2 662
    Par défaut
    Re,
    Voici un exemple (très rapide) de ce qu'on peut obtenir avec un TCD, je reste convaincu que c'est le plus simple...

    A+
    N'oubliez pas le si votre problème est solutionné.

  5. #5
    Futur Membre du Club
    Inscrit en
    Juillet 2009
    Messages
    21
    Détails du profil
    Informations forums :
    Inscription : Juillet 2009
    Messages : 21
    Points : 9
    Points
    9
    Par défaut
    Merci pour tes réponses Fvandermeulen.

    J'ai cherché ce week end, je n'ai toujours pas résolu ce problème. Le TCD que tu me présentes est en fait trop compliqué par rapport à ce qu'il me faut

    Tout ce dont j'ai besoin, c'est disons quand Albert est sélectionné, la commande recopie le tableau de B2 à D4. Quand Roger est sélectionné, de B7 à D10.
    Je suis peut-être une bille, mais je n'arrive pas à configurer un TCD pour qu'il ne me donne que ça.

  6. #6
    Membre éprouvé
    Avatar de ouisansdoute
    Profil pro
    Inscrit en
    Octobre 2007
    Messages
    931
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2007
    Messages : 931
    Points : 1 079
    Points
    1 079
    Par défaut
    Bonjour DiesIrae,

    Peux-tu joindre un fichier de tes données et du résultat que tu veux obtenir. je pense que le filtre élaboré pourrait convenir mais ce serait bien de partir de tes données.

  7. #7
    Futur Membre du Club
    Inscrit en
    Juillet 2009
    Messages
    21
    Détails du profil
    Informations forums :
    Inscription : Juillet 2009
    Messages : 21
    Points : 9
    Points
    9
    Par défaut
    Bonjour Ouisansdoute

    J'ai joint le fichier que j'ai modifié légèrement pour l'exemple.

    Tout ce qu'il me faut, c'est automatiser la tableau de la feuille courrier.
    Fichiers attachés Fichiers attachés

  8. #8
    Futur Membre du Club
    Inscrit en
    Juillet 2009
    Messages
    21
    Détails du profil
    Informations forums :
    Inscription : Juillet 2009
    Messages : 21
    Points : 9
    Points
    9
    Par défaut
    C'est possible de récupérer les données en faisant afficher les détails sur le TCD (feuille données) mais vu qu'il crée le nouveau tableau dans une nouvelle feuille qui change de nom à chaque fois, je n'arrive pas à en faire grand chose.

  9. #9
    Membre éprouvé
    Avatar de ouisansdoute
    Profil pro
    Inscrit en
    Octobre 2007
    Messages
    931
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2007
    Messages : 931
    Points : 1 079
    Points
    1 079
    Par défaut
    Bonjour,

    J'ai supprimé ton TCD et procédé avec des filtres élaborés.

    Regarde dans le fichier joint
    Fichiers attachés Fichiers attachés

  10. #10
    Futur Membre du Club
    Inscrit en
    Juillet 2009
    Messages
    21
    Détails du profil
    Informations forums :
    Inscription : Juillet 2009
    Messages : 21
    Points : 9
    Points
    9
    Par défaut
    Génial, exactement ce que je cherchais !

    Un grand grand merci

  11. #11
    Futur Membre du Club
    Inscrit en
    Juillet 2009
    Messages
    21
    Détails du profil
    Informations forums :
    Inscription : Juillet 2009
    Messages : 21
    Points : 9
    Points
    9
    Par défaut
    Hello again

    Je suis en train d'essayer de modifier la macro pour qu'elle puisse prendre en charge une ou des colonnes supplémentaires, et impossible de modifier le filtre avancé.
    Je le modifie à la main dans la box ($A:$E au lieu de $A:$D), validation, tout semble OK, même après vérification.
    Sauf que quand je lance la macro Courrier, il me sort que le nom de champ est introuvable ou incorrect. Vérification du filtre avancé : il est revenu sur $A:$D...

    Une idée d'où ça peut venir ?

    d'avance, merci encore

  12. #12
    Membre éprouvé
    Avatar de ouisansdoute
    Profil pro
    Inscrit en
    Octobre 2007
    Messages
    931
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2007
    Messages : 931
    Points : 1 079
    Points
    1 079
    Par défaut
    De quelle Box parles-tu ?

    En fait j'ai nommé "Base" la plage $A:$D et la macro y fait référence. Aussi, si tu veux rajouter des colonnes, il faut aller dans le menu Insertion/Nom/Définir puis
    - Sélectionner le nom Base
    - remplacer la référence =données!$A:$D par la référence =données!$A:$E
    - Cliquer sur le bouton Ajouter pour que la redéfinition soit prise en compte.

    Par ailleurs les filtres automatiques fonctionnent avec des zones de critères.
    Le filtre élaboré de la liste des commande dans le courrier utilise une zone de critère en C15:C16 de la feuille Courrier (la cellule C15 contient -en blanc sur blanc- le nom de la colonne que je veux exploiter c-c-dire "Client")
    Si les cellules C15:C16 changent d'emplacement il faut changer également leurs références dans la macro.

    Enfin, les intitulés "Code", "Modèle", "Variante" doivent être les exactement les même intitulés de champ que ceux contenus dans la première ligne de ta base.
    Dis-moi si ça t'aide à résoudre le problème.

  13. #13
    Futur Membre du Club
    Inscrit en
    Juillet 2009
    Messages
    21
    Détails du profil
    Informations forums :
    Inscription : Juillet 2009
    Messages : 21
    Points : 9
    Points
    9
    Par défaut
    Je parlais de la box du filtre avancé.

    Sinon, merci encore, problème résolu, c'était la réléfence à "Base" qui posait problème.
    J'ai pas réussi à la modifier (impossible de mettre la main sur les options des plages sous 2007) mais j'ai nommé Base2 la nouvelle plage et modifié les macros en conséquence.

    Jusqu'à nouvel ordre, problème définitivement résolu donc


    Merci beaucoup

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [Toutes versions] Requête suppression basée sur un critère situé dans une autre table
    Par possible924 dans le forum Requêtes et SQL.
    Réponses: 2
    Dernier message: 09/11/2014, 18h56
  2. Réponses: 2
    Dernier message: 17/02/2014, 09h23
  3. Réponses: 4
    Dernier message: 27/05/2013, 16h02
  4. Réponses: 3
    Dernier message: 05/02/2010, 03h45
  5. Réponses: 2
    Dernier message: 05/07/2008, 09h54

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