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 :

Récupérer la valeur d'un filtre automatique


Sujet :

Excel

  1. #1
    Membre du Club
    Homme Profil pro
    Ingénieur commercial
    Inscrit en
    Septembre 2009
    Messages
    63
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Territoire de Belfort (Franche Comté)

    Informations professionnelles :
    Activité : Ingénieur commercial
    Secteur : Industrie

    Informations forums :
    Inscription : Septembre 2009
    Messages : 63
    Points : 51
    Points
    51
    Par défaut Récupérer la valeur d'un filtre automatique
    Bonjour,

    J'ai réutilisé la formule de Silkyroad trouvé sur http://excel.developpez.com/faq/?pag...ResultatFiltre.
    J'ai cependant quelques petitssoucis de compréhension / application.

    1. Dans un premier temps, pourriez vous m'expliquer l'utilitée de Ctrl+Maj+Entrée? Je vois bien qu'il y'a une différence, mais ne saisis pas le fond.
    2. Dans un second temps, mon problème est le suivant :
      • J'ai un fichier avec plusieurs colonnes remplies et une sur laquelle je fais le tri. Lorsque je fais ce tri (à 1 seule critère, il n'y aura jamais plus), laformule est censé récupérer la valeur du filtre en récupérant la valeur de la première cellule de la formule si j'ai bien tout saisi.
      • La feuille de calcul est un modèle où je dois pouvoir ajouter et supprimer un nombre de ligne indéfini
      • Lorsque j'ajoute ou supprime des lignes, la formule ne fonctionne plus et me renvoie soit une erreur, soit la valeur de l'entete (de la case ou est placé le filtre)
      • Dans certains cas, la formule fonctionne et après suppression de valeur d'une cellule (pas de suppression de ligne) la formule ne fonctionne pas

      Auriez vosu une solution à ce problème?
      Est il possible que la formule s'adapte lorsque j'ajoute ou supprime des lignes? Si oui, comment dois-je procéder?
      J'ai essayé de mettre la formule sur toutes les lignes jusqu'à 65 000, sans meilleurs résultats.

      Peut être quelqu'un aurais une solution alternative à mon problème?


    Dans l'attente de votre réponse, je vous remercie du temps que vous prendrez pour me répondre!!

    Cordialement,

    Nicolas

  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,
    Il aurait été plus simple de mette ta formule et/ou un fichier exemple qu'on puisse se faire une meilleure idée, mais concernant tes questions:

    Dans un premier temps, pourriez vous m'expliquer l'utilitée de Ctrl+Maj+Entrée? Je vois bien qu'il y'a une différence, mais ne saisis pas le fond.
    le Ctrl+Maj+Entrée ajoute les {} à la formule, ceci est obligatoire pour une formule matricielle, c'est un principe de syntaxe quoi.

    Pour ce qui est des suppressions, ajouts,... essaie en nommant ta(tes) plage(s). Insertion/Nom/Definir.

    A+

  3. #3
    Membre du Club
    Homme Profil pro
    Ingénieur commercial
    Inscrit en
    Septembre 2009
    Messages
    63
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Territoire de Belfort (Franche Comté)

    Informations professionnelles :
    Activité : Ingénieur commercial
    Secteur : Industrie

    Informations forums :
    Inscription : Septembre 2009
    Messages : 63
    Points : 51
    Points
    51
    Par défaut
    Salut Fvandermeulen,

    Merci pour ta réponse !
    N’ayant aucune base en formule matricielles, ça ne m’avance pas trop. Bon, c’est nécessaire engros. Et puis ça me donne une bonne raison de me pencher sur ces formules matricielles à l’occasion.
    Je viens d’essayer avec ta proposition, nommer la plage… Sans succès, ou alors je m’y prends mal. En fait dans la formule récupérée de Silkyroad, il y’a plusieurs plages et j’avoue être un peu perdu.

    Je joins une copie (élaguée) de la feuille Excel.
    Cette feuille doit servir à mes collègues du bureau d’études. Ils font un liste des pièces installées sur les machines. Ils feront une liste par projet, et le filtre sur la colonne L permettra de faire le tri par machines (lorsqu’il ya plusieurs machines par projet).
    Le fichier est joint tel que mes utilisateurs l’auront, avec presque toutes les cellules verrouillées, à part les cellules grisés en haut qui sont à remplir et les lignes 23 à 32 qui seront à remplir. L’utilisateur devra pouvoir ajouter des lignes autant que nécessaire.
    Il suffit d’enlever la protection (je n’ai pas mit de mot de passe) pour avoir accès aux cellules.

    Il faut donc que la formule de la cellule L7 me renvoie la valeur du filtre sur la colonne L21 à L????.

    J’ai trouvé des solutions par macro, mais je souhaite éviter les macro pour ce fichier là.
    Fichiers attachés Fichiers attachés

  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
    Salut,
    Je viens de constater que la formule que tu voulais utiliser ne fonctionne plus à partir du moment ou ta ligne de titre est sur la ligne 10, si sur 9 ou moins pas de problème...
    J'ai pas encore décortiqué la formule mais j'irais voir du côté du 'Decaller'
    Là j'ai une réunion, donc à moins que quelqu'un d'autre prenne le relais, faut attendre un peu, mais si tu trouve...

    A+

  5. #5
    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,
    Réunion décallée, j'ai eu 5 minutes pour regarder, c'est en fait les row(Lxx:Lxx) qui posaient problème, copie la formule ci-dessous pour tester:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    {=IF(L5="Pas de filtre actif";L5;INDEX(L21:L33;MIN(IF(SUBTOTAL(3;OFFSET(L22;ROW(L21:L33)-20;));ROW(L23:L33)-19));1))}
    A+

    Edit: petite correction dans la formule, le 2ème Row doit être soustrait de 19 car la première ligne du tableau est vide

  6. #6
    Membre du Club
    Homme Profil pro
    Ingénieur commercial
    Inscrit en
    Septembre 2009
    Messages
    63
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Territoire de Belfort (Franche Comté)

    Informations professionnelles :
    Activité : Ingénieur commercial
    Secteur : Industrie

    Informations forums :
    Inscription : Septembre 2009
    Messages : 63
    Points : 51
    Points
    51
    Par défaut
    Re bonjour,

    Merci d'avoir pris du temps pour me répondre!!

    Il semblerais que ça fonctionne.
    Avec une soustraction de 19, ça ne fonctionnais pas (lorsque filtre sur A, valeur renvoyée = B et lorsque valeur sélectionnée = B, valeur renvoyé = B).

    En tout cas, pour le moment ça fonctionne comme je le souhaitais!

    Merci beaucoup!

Discussions similaires

  1. [XL-2010] Récupérer valeur filtre automatique vba
    Par saigon dans le forum Macros et VBA Excel
    Réponses: 14
    Dernier message: 25/03/2020, 20h07
  2. [XL-2003] Récupérer valeurs avec un filtre
    Par cyberboy00 dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 18/04/2012, 10h46
  3. Récupérer la valeur d'une colonne filtrées
    Par qmike dans le forum Excel
    Réponses: 3
    Dernier message: 15/02/2010, 21h03
  4. Réponses: 2
    Dernier message: 14/07/2009, 08h45
  5. Réponses: 7
    Dernier message: 17/09/2008, 15h04

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