Recheches complexes sur une plage de données

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 !

christophedetroyes

XLDnaute Nouveau
Bonjour,

Je cherche à réaliser sous excel 2010 une recherche sur plusieurs critères sur une plage de cellule.
(fichier excel joint)

J'ai une plage de données avec les valeurs suivantes :
N° NOM DATE VALEUR
10000 TOTO 01/05/2012 10
10000 TOTO 03/11/2011 11
11000 TITI 01/01/2012 12
11000 TITI 01/03/2011 13
12000 TETE 05/05/2012 14
13000 TUTU 01/11/2011 15
13000 TUTU 01/03/2011 16

Je souhaite rechercher pour un agent spécifique la valeur mise à jour le 01/01/2012 ou avant !

Exemples :
pour TOTO : résultat attendu 11
pour TITI : résultat attendu 12
pour TUTU : résultat attendu 15
pour TETE : aucun résultat

donc une première recherche pour sur le numéro et ensuite sur la date

j'ai cherché du coté formule ou VBA mais je coince !

Merci pour vos conseils
 

Pièces jointes

Re : Recheches complexes sur une plage de données

Bonjour

Pourquoi ne pas simplement utiliser le filtre élaboré avec critère formulé?

Regardes dans les archives du forum (en t'aidant de la loupe en haut à droite) , tu trouveras de nombreux exemples (dont certains commis par bibi) utilisant des formules comme critéres dans un filtre élaboré. (le tout avec ou sans VBA)
 
Dernière édition:
Re : Recheches complexes sur une plage de données

Oui concernant le filtre élaboré, j'ai déjà fait. Le problème c'est que je souhaite récupérer la valeur via une fonction dans une autre feuille.

Donc je me vois bien utiliser dans une feuille la fonction VBA rechercher_valeur("10000") et récupérer par retour la valeur 11 selon les règles que j'ai fixées précédemment. J'espère être clair !
 
Re : Recheches complexes sur une plage de données

Re, [EDITION=Bonjour R@chid[/EDITION]


Et alors c'est possible, non ? On peut copier le résultat d'un filtre où on veut quand on veut 😉
Essayes cette macro dans un premier temps sur ton fichier exemple
Code:
Sub Macro1()
'
' Macro1 Macro
' Macro enregistrée le 29/07/2012 par Staple1600
'

[F1:G1] = Array("NOM", "DATE")
    Range("F2").FormulaR1C1 = "TOTO"
    Range("G2").FormulaR1C1 = "=""<""&DATEVALUE(""01/01/2012"")"
    Range("A1:D8").AdvancedFilter Action:=xlFilterInPlace, CriteriaRange:=Range _
        ("F1:G2"), Unique:=False
End Sub

PS: Si tu as utilisé le filtre élaboré, pourquoi ne pas l'avoir précisé dans ton premier message?
 
Dernière édition:
Re : Recheches complexes sur une plage de données

ReBonjour @ tous,
pour la formule en colonne H c'est plutôt,
en H2,
Code:
=SI(G2<>"";INDEX(D$2:D$8;EQUIV(MAX((B$2:B$8=G2)*(C$2:C$8<=J$1)*(C$2:C$8));(B$2:B$8=G2)*(C$2:C$8<=J$1)*(C$2:C$8);0));"")
@ valider par Ctrl+Maj+Entree
@ tirer vers le bas
@ micalement
 
Dernière édition:
- 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
2
Affichages
796
Réponses
8
Affichages
475
Retour