Bonjour,
Et pourquoi pas en VBA, une boucle qui va tester dans chaque cellule du critere correspondant si l'information choisi est valable ou non (ce qui te fait oublier toute idee de formule).
Dans ta feuille de recherche, tu indiques les critere, puis pour chaque critere selectione, s'il y a un argument, alors ca boucle dans la bonne cellule et ca ressort les resultats, du genre:
Sub recherche()
Dim i, j, lgn As Integer
For i = 1 To Sheets("d" ).Cells(1, 1).CurrentRegion.Rows.Count
For j = 1 To 6
If Not IsEmpty(Sheets("r" ).Cells(j + 3, 2)) Then
If Sheets("d" ).Cells(i, j).Value <> _
Sheets("r" ).Cells(j + 3, 2).Value Then GoTo erreur
End If
Next
lgn = Sheets("r" ).Cells(15, 1).CurrentRegion.Rows.Count + 15
Sheets("r" ).Range(Sheets("r" ).Cells(lgn, 1), Sheets("r" ).Cells(lgn, 6)).Value = _
Sheets("d" ).Range(Sheets("d" ).Cells(i, 1), Sheets("d" ).Cells(i, 6)).Value
erreur:
Next
End Sub
A toi d'ameliorer et adapater en fonction de l'agencement de tes feuilles et de tes cellules. C'est une recherche multicriteres.
Feuille de base de donnees (feuille "d" ) j'ai mis en colonne les info, dans un ordre
Feuille Recherche (feuille "r" ) j'ai mis les critere de recherche en ligne, dans le meme ordre que les colonnes de la base de donnee,
puis les resultats sont affiches dans la feuille r a partir de la ligne 15.
Feuille "d":
En colonne:
Taille Poid Sexe Age Nom Prenom
Feuille "r":
a partir de la ligne 4 colonne 1, en ligne (les criteres sont rentrer dans la colonne 2:
Taille
Poid
Sexe
Age
Nom
Prenom
J'espere t'avoir aide.
I.
Message édité par itawa le 04-02-2004 à 08:04:49