Recherche Excel multi-critères

Résolu
Bonjour,

je suis en train de réaliser un tableur excel 2007 référençant des fichiers.
chaque fichier est numéroté dans la colonne C, puis le nom (D), le dossier (E), le type de fichier (F), la matière (G), la date d'ajout (H).

je souhaite réaliser un outil de recherche qui pourra, en fonction de la rubrique de recherche sélectionner (validation par liste), donner les résultats, en créant une succession de lignes avec les résultats



--

Cela veut dire que non seulement nous n'avons pas les principes qui mènent au vrai, mais que nous en avons d'autres qui s'accommodent très bien avec le faux.

B. LBdF

7 réponses

  1. Contributeur
    Salut le forum

    Le filtre élaboré devrait répondre à ta question.

    Mytå
    0
    1. Contributeur
      pourrais-tu m'expliquer car sur les tutos que j'ai trouvé, cela ne répond pas trop à ma question...

      il faudrait que par exemple si on fait une recherche par matière, et qu'on tape "polyéthylène", cela affiches toutes les lignes comportant cette matière...
      0
  2. Contributeur
    Bonjour,
    Si je comprend ta 2èm explication, un filtre automatique serait plus adéquat.
    A+
    0
    1. Contributeur
      je vois pas trop...
      0
  3. Contributeur
    Oui, Avec le 2007
    Tu sélectionne tes titres ensuite..
    c'est >> Données >> filtrer
    Y aura un bouton dans chaque cellules, tu clic dessus et tu va de suite comprendre.
    A+
    0
    1. Contributeur
      d'accord mais le problème est si je veux avoir ce qui est dans un sous-dossier!
      le filtre propose trop de dossier, il faut ensuite cliquer sur les dossiers, dont le snoms sont tellement longs qu'on en voit pas la fin. donc pour ceux qui consulte le fichier, c'est pas très pratique.

      n'y a-t-il pas moyen de faire, par exemple, en A1, une cellule avec validation de données (n°, matière, dossier...), et en A2, le mot clé. et finalement, sur plusieurs lignes, les résultats?

      et je me demandais aussi si il y a un moyen d'afficher le n° seulement quand la ligne est complétée?

      merci!
      0
      1. Contributeur
        En VBA ? tu connaîs ?
        0
        1. Contributeur
          non mais j'ai trouvé, enfin ça donne
          =SI((NB.VIDE($C108:$H108))=0;108;"")

          le problème est pour étendre la formule, ça garde 108 au lieu d'incrémenter....
          0
      2. Contributeur
        Si cette formule te convient... pour implémenter ton 108
        Supposons ta 1ère formule sur la cellule K8
            =SI((NB.VIDE($C108:$H108))=0;LIGNE(K8)+100;"")

        Le 108 va être implémenter de 1 à chaque ligne, c'est ce que tu veux ?
        A+
        L'expérience instruit plus sûrement que le conseil. (André Gide)
        Si tu te cognes à un pot et que ça sonne creux, c'est pas forcément le pot qui est vide. ;-)(Confucius)
        0
        1. Contributeur
          impeccable!!

          les données commençant à la ligne 4, pour la ligne absolue 110, donc 107 du tableau, cela donne:

          =SI((NB.VIDE($C110:$H110))=0;(LIGNE($B110)-3);"")


          et peut-on incorporer un message qui dit de compléter les cellules dans l'ordre?
          par exemple si la ligne 78 est vide, et que l'utilisateur complète la ligne 179.
          comment lui donner le message et l'inviter à compléter la ligne vide?
          0
        2. Contributeur
          Oui, mais seulement avec du VBA
          0
        3. Contributeur
          d'accord... j'essayerait de me familiariser avec le VBA un peu plus tard. quoiqu'il en soit, merci de ton aide!
          0
      3. Contributeur
        En VBA..
        Private Sub Worksheet_Change(ByVal Target As Range)
            If Target.Row > Cells(4, Target.Column).End(xlDown).Row Then
                Application.EnableEvents = False
                Cells(Cells(4, Target.Column).End(xlDown).Row + 1, Target.Column).Select
                ActiveCell = Target
                Target = ""
                MsgBox "Vous ne pouvez pas laisser de ligne intercalaire vide"
                Application.EnableEvents = True
            End If
        End Sub

        C'est pas compliquer..
        Clic droit sur le nom de l'onglet >> Visualiser le code.
        Dans la fenêtre tu colle le code ci-dessus.
        Ensuite c'est automatique.
        A+
        0
        1. Contributeur
          pfiou!! "c'est pas compliqué"! moi qui n'est jamais rouché au vba!
          0
        2. Contributeur
          Plus simple que ça... tu meur
          0
        3. Contributeur
          désolé mais je n'ai pas encore eu la chance de rencontrer ce type de... données? as-tu un petit tuto pour me familiariser? (excel 2007 de préférence)
          0
        4. Contributeur
          Quand je dis que c'est simple c'est pour suivre mes indications quand à comprendre la macro c'est une autre paire de manches. Il y a une TRES GROSSE LACUNE avec le 2007.. Plus d'éditeur de macro.J'ai appris les 3/4 avec cet éditeur.
          Des tuto y en à des milliers..faut un peu (beaucoup) de patience et apprendre.
          0
        5. Contributeur
          donc je fais comment si je peux pas faire la maquereau? :)
          0