Filtrer une BDD dans excel

Résolu
maha21 -  
 maha21 -
Bonjour,

Je voudrais créer un classeur excel pour gérer une BDD dans le quel il y'aura 4 feuilles:
- Feuille 1: contient la BDD
- Feuille 2 : contient les données filtrées selon cdt1
- Feuille 3 : contient les données filtrées selon cdt2
- Feuille 4 : contient les données filtrées selon cdt3

Dans chaque feuille j'ai repris les données de la 1ière feuille (BDD) avec un filtre sur cdt1, cdt2 et cdt3.
Le problème c'est que ces filtres là ne sont pas générés automatiquement avec la MAJ de la BDD de la feuille1. Il faudrait à chaque fois supprimer le filtre existant ensuite le refaire.
Y'a t-il possibilité de corriger ça ?

merci

Office 2010

4 réponses

  1. Vaucluse Messages postés 27336 Date d'inscription   Statut Contributeur Dernière intervention   6 453
     
    Bonjour
    voyez si ce modèle peut répondre à ce que vous cherchez, et revenez si besoin d'informations complémentaires

    https://www.cjoint.com/c/FFfoLkZ1xN8

    crdlmnt
    0
  2. maha21
     
    bonjour,

    je n'arrives pas à faire une concordance avec mon cas. Ci joint mon classeur pour mieux comprendre ma question.

    http://www.cjoint.com/c/FFghTQA0uK2
    0
    1. Vaucluse Messages postés 27336 Date d'inscription   Statut Contributeur Dernière intervention   6 453
       
      Bonjour
      Voila à quoi correspond ce que je propose (sans VBA)
      le système de filtrage utilise la, colonne Z de la feuille Liste

      https://www.cjoint.com/c/FFgi2rwVfa8

      la mise à jour des trois feuilles se fait bien évidemment au fur et à mesure que vous créez des lignes dans la feuille Liste

      revenez si besoin d'info ,

      crdlmnt
      0
    2. maha21 > Vaucluse Messages postés 27336 Date d'inscription   Statut Contributeur Dernière intervention  
       
      Il n'y a aucune information dans la colonne Z pour l'utiliser pour le filtre. Je ne comprend pas aucune modif faite sur mon classeur ??
      0
    3. Vaucluse Messages postés 27336 Date d'inscription   Statut Contributeur Dernière intervention   6 453 > maha21
       
      zelui ci devrait aller mieux, je me suis trompé de, fichier
      avec mes excuses
      https://www.cjoint.com/c/FFgkUZm5OW8
      crdlm,nt
      0
    4. maha21 > Vaucluse Messages postés 27336 Date d'inscription   Statut Contributeur Dernière intervention  
       
      C'est parfait. Peux tu m'expliquer brièvement votre approche:
      la colonne Z compte le nombre de cellules de chaque type et les numérote
      ensuite peut tu que fait la fonction :
      =IFERROR(INDEX(Liste!$A$9:$D$500;MATCH(ROW($A1)&"_"&$B$1;Liste!$Z$9:$Z$500;0);4);"")
      0
    5. Vaucluse Messages postés 27336 Date d'inscription   Statut Contributeur Dernière intervention   6 453
       
      Je vais le faire en français, si tu veux bien!

      SIERREUR (existe depuis Excel 2007) détecte si la formule trouve une erreur quelle, qu'elle soit et renvoi dans ce cas directement ce qui est à la fin entre guillemets (rien si les deux guillemets sont seuls)

      principe de la formule:
      =INDEX(plage; N° de ligne de la plage; N° de colonne de la plage) renvoie la valeur trouvée au croisement de la ligne et de la colonne spécifiées
      dans notre cas, la plage est Liste!$A$9:$D$500

      EQUIV(valeur;champ;0) renvoie le N° de ligne dans le champ où se trouve la valeur cherchée et donc ici:
      le champ de recherche est Liste!$Z$9:$Z$500
      la valeur cherchée est composée par le code LIGNE(A1)&"_&"$B$1

      LIGNE(A1) renvoie 1 si A1, 2 si A2, 3 si A3 etc.... et donc cette valeur s'incrémente en tirant la formule vers le bas.

      La valeur cherchée est donc reconstituée sur le principe de construction des codes de la colonne Z de Liste
      A noter que l'underscore n'est pas toujours utile (comme ici par exemple), mais je le met par principe pour éviter des confusions lorsque ce codage utilise des codes numériques au lieu de texte)

      le;0) à la fin de EQUIV est un code Excel qui exige de ne trouver que des valeurs exactes (comme pour RECHERCHEV ou H)

      ensuite le ;1) correspond à la première colonne du champ INDEX ;2 à la seconde ect...

      si ça convient, passe le sujet en résolu (voir sous le titre du fil)

      en espèrant avoir été clair, ce n'est pas toujours facile par message

      crdlmnt
      0
  3. maha21
     
    je voulais dire y'a pas un moyen d'automatiser ça (avec VBA par exp)
    0
  4. Raymond PENTIER Messages postés 58225 Date d'inscription   Statut Contributeur Dernière intervention   17 488
     
    Bonjour maha21.

    "Y'a t-il possibilité de corriger ça ?" implique et sous-entend qu'Excel fait une erreur. Ce n'est pas le cas ! C'est toi qui cherches à utiliser un outil pour faire autre chose que sa destination. Tu utilises un outil qui n'est pas adapté à ton problème, tout simplement ...
    -1