Faire un Recherche de référence suivant plusieurs condition

Bonjour,

Je cherche a retrouver le matricule d’une personne suivant plusieurs conditions :

N°1 : Suivants un de ses prénoms (Peut importe si c’est le premiers, le deuxième ou le troisièmes)
—> Donc faire une recherche sur 3 colonnes

N°2 : Suivant son Nom :
—>Recherche assez basique

N°3 : Suivant son age
—>si il se trouve dans la plage donnée avec le mini et le maxi

Donc grâce a ses conditions j’aimerais retrouver le matricule dans la case correspondant (B13). Je préférerais avoir une seule formule en B13 mais si cela fait quelque chose de trop lourd ou compliqué je pourrais passer par des étapes intermédiaire.

image

Merci d’avance de votre aide :smile:
Cordialement,

Loic

PS : Le but de ce tableau va êtrereproduis sur un beaucoup plus gros (environs 200 lignes)
AIDE EXCEL.xlsx (10,7 Ko)

Hello Loic,
En supposant le nom prénom soient sans doublons (homonyme), car ça sert à ça un Matricule, je te propose d’utiliser la SOMMEPROD.
Vu que tes matricule sont purement numérique; on somme tous les matricule répondants a tes conditions.
+pour similer le “ou”
*pour simuler le “et”
Vu q’une seule ligne répondra au critère, ce sera la somme d’un seul matricule=matricule cherché.
Vérifie si la logique tiens.

Cf fichier : AIDE EXCEL.xlsx (11,4 Ko)

Merci de ton aide,

Pour tout te dire cette excel est un exemple pour un autre que j’essaye de réaliser mais il contient des informations que je ne souhaite pas divulguer.

Ta logique me parais pas mal, j’essaye de l’appliquer sur mon “vrai” excel et je reviens vers toi pour te tenir au courant, encore merci

Loic

J’ai compris la logique de la chose mais deux points me gène :
1) Si mon matricule n’est pas seulement des chiffres j’ai une erreur
2) Il se peut que plusieurs ligne répondent au critères

De base j’avais essayer avec INDEX+EQUIV mais j’arrivais pas a faire que que ma cellule de référence soit possible dans 3 colonnes différentes. Et que l’age se trouve entre deux colonnes.

Mais je te remercie a nouveau de ton aide.

1-Normal que ca se passe mal si les matricules ne sont pas comme dans l’exemple donné, j’espere que ton fichier “secret” cache pas autre chose.
2-Les fonctions de recherche remontent un seul résulats (le 1er rencontré) , que fais tu des autres ?

Les fonctions recherchent un élément unique pas un ensemble de resultat possible ce sera donc :
-soit une fonction matricielle (je pourrai regarder si tu fourni un fichier +proche du vrai)
-soit Je t’oriente plutot vers le filtre élaboré qui extrait toutes les occurences repondant a
plusieurs critères, plutot qu’une formule qui sera forcement matricielle

1 « J'aime »

Bonjour,

Avec une petite macro.
Il suffit de mettre en colonne J à L les données à chercher et appuyer sur le bouton

MACRO:

Sub test()
Dim F1 As Range
Dim F2 As Range
Dim i As Integer
Dim j As Integer

Dim DernLigne As Long
DernLigne = Feuil1.Range("A" & Rows.Count).End(xlUp).Row 'Dernière ligne à traiter
Set F1 = Feuil1.Range("A3:A" & DernLigne)

Feuil1.Range("I4:L100" & DernLigne).ClearContents 'Efface les anciennes données
j = 2
    For i = 1 To F1.Rows.Count
            'CONDITIONS
            If F1(i, 2).Value = Cells(2, 10).Value Or _
              F1(i, 3).Value = Cells(2, 10).Value Or _
              F1(i, 4).Value = Cells(2, 10).Value Then
                If F1(i, 5).Value = Cells(2, 11).Value Then
                  If F1(i, 6).Value <= Cells(2, 12).Value And _
                    F1(i, 7).Value >= Cells(2, 12).Value Then
              'RESULTATS
                    F1(j, 9).Value = F1(i, 1).Value
                    F1(j, 10).Value = F1(i, 2).Value & " " & F1(i, 3).Value & " " & F1(i, 4).Value
                    F1(j, 11).Value = F1(i, 5).Value
                    j = j + 1
                End If
              End If
            End If
    Next i
End Sub

Le CLASSEUR:
AIDE EXCEL.xlsm (18,0 Ko)