Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

XL 2010 RechercheV avec deux critères au format différent

Schaumberger Philip

XLDnaute Nouveau
Bonjour le forum,

J'espère que tout le monde se porte bien

Je me tourne vers vous suite à un souci avec ma feuille excel.
Je cherche a réaliser une recherche de valeur avec deux critéres (un nom et une date)
Sur la document en pièce jointe, je cherche a insérer cette valeur sur la feuille "FICHE SALARIE" en D6, les deux critères se trouvent en D4 ( le nom) et C6 (la date).

La matrice dans laquelle il faut effectuer la recherche se trouve sur la feuille "Fiche Horaire" dans le tableau A3:BI23. (Il est a noté que ce tableau s'agrandira chaque jour de 21 lignes (le nombre de salarié) et donc que les noms des salariés apparaitrons plusieurs fois (d'ou le besoin du critère de date).

J'espère avoir était clair dans mes explications.

Je vous remercie grandement de l'intérêt et du temps que vous portez à mon problème.

Cordialement,
Philip
 

Pièces jointes

  • PROJET Test Version Finale copie.xlsm
    808.8 KB · Affichages: 22

M12

XLDnaute Accro
Bonjour

A tester
Attention, formule matricielle) à valider par les touches CTRL MAJ et Entrée
 

Pièces jointes

  • PROJET Test Version Finale copie.xlsm
    795.3 KB · Affichages: 28

Victor21

XLDnaute Barbatruc
BonjourSchaumberger Philip.

Mettez "FICHE SALARIE" sous forme de tableau, la formule évoluera avec le tableau nors de l'adjonction de lignes, et essayez :
=SOMMEPROD(('Fiche Horaire'!$BM$3:$BM$23)*('Fiche Horaire'!$D$3:$D$23='FICHE SALARIE'!$C$6)*('Fiche Horaire'!E$3:E$23=$D$4))

Edit : Bonjour, Jocelyn, M12. Désolé je n'avais pas rafraîchi...
(Remplacer BM par BH)
 

Schaumberger Philip

XLDnaute Nouveau
Bonjour Victor 21,

En effet votre formule est encore plus efficace dans la mesure ou elle s'allie avec la macro qui est en place. La formule précédente faisait tourner la macro dans le vide est forcé excel a l'erreur.

Un grand merci à tout les participants de ce problème
 

Schaumberger Philip

XLDnaute Nouveau
Une petite question au final se pose encore. Existe t-il une fonction similaire à celle ci pour indiquer du texte et non des valeurs ?
J'ai rajouter une colonne "Remarque" sur le tableau de la feuille "fiche Horaire" qui doit être rempli avec du texte.
Celle ci doit se reporter dans la colonne "Autres" du tableau de la feuille "Fiche salarie". J'ai modifier la formule de base mais elle m'affiche #Valeur.
Quelqu'un a t'il la réponse ??

Merci d'avance !!
Cordialement,
Philip
 

Pièces jointes

  • PROJET Test Version Finale.xlsm
    814.5 KB · Affichages: 12

Jocelyn

XLDnaute Barbatruc
re,
Bonjour M12, Victor21,

Le sommeprod ne peut pas remonter de valeur texte il fait des addition multiplication....et pour cela il a besoin de valeur numérique par contre tu peux utiliser la formule de M12 en matricielle

et pour le Fun une autre formule matricielle

Code:
=INDEX('Fiche Horaire'!F:F;EQUIV(VRAI;ESTNUM(CHERCHE(C6&$D$4;'Fiche Horaire'!D:D&'Fiche Horaire'!E:E));0))

Cordialement
 

Jocelyn

XLDnaute Barbatruc
re,

C'est une formule matricielle il faut la valider en appuyant simultanément sur le touche CTRL, Maj (au dessus de CTRL) et entrée si tu l'as bien validée excel met { devant le = et } a la fin de la formule il ne faut pas taper les crochets excel doit les mettre tout seul

Cordialement
 

Schaumberger Philip

XLDnaute Nouveau
Oui j'avais oublié hehe, juste par hasard, cela n'est pas possible sans formule matricielle ? Ca fait planter toute ma macro dès que je veux l'utiliser.
Ne vous cassez pas la tête sur le sujet en tout cas, je vous remercie de votre aide

Cordialement,
 

Jocelyn

XLDnaute Barbatruc
pour que cela ce fasse sans matricielle il faudrait que pour chaque journée au moment du rajout des 21 personnes celle-ci soit exactement dans le même ordre auquel cas on aurait une formule du genre :

Code:
=INDEX('Fiche Horaire'!F3:F23;EQUIV(C6;'Fiche Horaire'!$D$3:$D$23;0)+EQUIV(D4;'Fiche Horaire'!$E$3:$E$23;0)-1)

Cordielement
 

Jocelyn

XLDnaute Barbatruc
re,

Pour le cas ou des nom ne sont pas classés dans le même ordre et que certains jour tu en ais plus ou moins tu peux tester cette formule pas matricielle non plus

Code:
=INDEX(INDIRECT("'Fiche Horaire'!F"&EQUIV(C6;'Fiche Horaire'!D:D;0)&":F1000");EQUIV($D$4;INDIRECT("'Fiche Horaire'!E"&EQUIV(C6;'Fiche Horaire'!D:D;0)&":E1000");0))

Cordialement
 
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…