XL 2016 Une RechercheV combiné a une RechercheH

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

gaby66

XLDnaute Occasionnel
Bonjour,

Je souhaiterais obtenir le résultat dans un tableau mais un peu plus complexe qu'une simple formule recherchev ou rechercheh.
Je sais également qu'avec index ou equiv cela peut être la solution mais je maîtrise moins ces fonctions (même après avoir regarder sur internet à ce sujet).
Je cherche donc à trouver une solution à mon problème en comprenant comment fonctionne ces fonctions pour que plus jamais je sois embêter quand je souhaite combiné une recherche à plusieurs critères.
J'ai donc fais un petit modèle pour mieux décrire le résultat que j'aimerais obtenir, mais souhaiterais la comprendre aussi.
Merci pour votre aide.

Cordialement
 

Pièces jointes

Bonjour Gaby,
Avec un Recherche (V ou H ) ou un Index Equiv, j' échoue quand il s'agit d'un multilignes, multicolonnes.
Même en formule matricielle, je n'ai trouvé aucune solution.
En attendant une solution plus "esthétique", on peut y arriver en ajoutant une ligne et une colonne pour repérer L et C qu'on exploite ensuite par un Index.
( ensuite en VBA ce serait plus simple si vous acceptez les macros. 🙂 )
Add on : "Just for the fun" si vous acceptez les macros, voir la seconde PJ avec la fonction perso :
VB:
Function ValeurCherchée(Chaine$, Plage As Range)
    Dim T, L%, C%: Application.Volatile
    T = Plage
    For L = 1 To UBound(T)
        For C = 1 To UBound(T, 2)
            If T(L, C) = Chaine Then
                ValeurCherchée = T(L + 1, C)
                If ValeurCherchée = 0 Then ValeurCherchée = ""
                Exit Function
            End If
        Next C
    Next L
    ValeurCherchée = ""
End Function
 

Pièces jointes

Dernière édition:
Bonjour gaby66, sylvanu,

A condition qu'il n'y ait qu'une valeur égale à B8 dans le tableau, formule matricielle en D8 :
Code:
=DECALER(A1;PETITE.VALEUR(SI(G7:M15=B8;LIGNE(G7:M15));1);PETITE.VALEUR(SI(G7:M15=B8;COLONNE(G7:M15));1)-1)
A valider par Ctrl+Maj+Entrée.

A+
 

Pièces jointes

Bon s'il y a plusieurs valeurs égales à B8 dans le tableau utiliser cette formule (non matricielle) en D8 :
Code:
=INDIRECT(ADRESSE(EQUIV(B8;DECALER(A:A;;col-1);0)+1;col))
col étant le nom défini par cette formule :
Code:
=PETITE.VALEUR(SI(Feuil1!$G$7:$M$15=Feuil1!$B$8;COLONNE(Feuil1!$G$7:$M$15));1)
 

Pièces jointes

Autre solution avec ADRESSE et INDIRECT :
Code:
=INDIRECT(ADRESSE(PETITE.VALEUR(SI(G7:M15=B8;LIGNE(G7:M15));1)+1;PETITE.VALEUR(SI(G7:M15=B8;COLONNE(G7:M15));1)))


Merci Messieurs,
Je vais opter plus pour cette version, car la version VBA n'est pas utile dans mon cas, celle la je la comprends nettement mieux. Et celle avec le nom définie je la comprends un peu moins pour être honnête lol, je m'y repencherais un prochain jour si j'ai plusieurs valeurs égales.
Merci en tous cas, ça fait le job. 😉😃👍👍👍
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Réponses
31
Affichages
2 K
Réponses
18
Affichages
767
Réponses
18
Affichages
1 K
Retour