Recherche données avec plusieurs critères

Résolu/Fermé
Jeff - 25 févr. 2009 à 16:18
 Jeff - 26 févr. 2009 à 11:00
Bonjour,

Je galère depuis plusieurs jour pour trouver une formule pour résoudre mon problème. Mais si quelqu'un se propose de me faire une macro (je pense que cela est bien plus simple contenu de mes problèmes).
Voilà mon PB :
SI : Feuil1!(A1:A2000) = Feuil2!A1 ;
Et que : Feuil1!(B1:B2000) = Feuil2!B1 ;
Et que : Feuil1!(C1:C2000) = Feuil2!C1 ;

ALORS :
Feuil2!D1 = Feuil1!(D1:D2000)

En sachant que mon résultat peut être une somme puisque plusieurs cellules [ Feuil1!D ] si leur ligne répond aux 3 critères.

Merci beaucoup à celle ou celui qui me soulagera de ce fardeau!

Jeff
A voir également:

4 réponses

xkristi Messages postés 4264 Date d'inscription lundi 18 décembre 2006 Statut Membre Dernière intervention 19 août 2022 564
25 févr. 2009 à 16:32
Salut

pas clair somme ou recherche ?
c'est comme cela qu'il faut comprendre ?

si la somme de A1 à A2000 de feuil1 = A1 de feuillet 2
et que ...
Je mets à jour la cellule D1 de feuillet2 avec la somme de D de feuille 1 ?

mets un exemple sur cjoint.com
et donne nous le lien
ce sera plus facile

0
Ok désolé, je vais reprendre (mes feuil sont en fait des classeurs différents):

En colonne A de Feuil1 :" noms de machine "
En colonne B de Feuil1 :" Code réf. "
En colonne C de Feuil1 :" Offre de service "
En colonne D de Feuil1 :" Coût "

Idem pour la feuil2 sauf que ma colonne D doit reprendre la ou les Valeur(s) contenue(s) dans la colonne D de la Feuil1.

Exple :
Feuil1                               Feuil2(on recense pr 1seul Code réf(Col.B) le coût/machine)
      A        B      C      D                      A       B      C     D[Colonne de Résultats]         
 1   TOTO     130    Std     10                    TOTO     130    Std       = 30 
 2   TATA     131    HG      15                    TATA     130    HG        =  0
 3   TOTO     130    Std     20
 4   TOTO     370    Std     100


Merci de te pencher sur mon PB, j'espère que c'est plus clair...
0
Vaucluse Messages postés 26496 Date d'inscription lundi 23 juillet 2007 Statut Contributeur Dernière intervention 1 avril 2022 6 414
25 févr. 2009 à 16:47
Bonjour
de ce que je crois avoir compris, mais je suis comme xkristi très dubitatif et surtout sur de rien!
en feuille 2, D1:
=SI(ET(Feuil1!A1=Feuil2!A1;Feuil1!B1=Feuil2!B1;Feuil1!C1=Feuil2!C1);Feuil1!D1;0)
Formule à tirer sur la hauteur de votre champ
Crdlmnt
PS:
ou plus simplement puisque vous êtes en Feuil2
=SI(ET(Feuil1!A1=A1;Feuil1!B1=B1;Feuil1!C1=C1);Feuil1!D1;0)



0
Merci Vaucluse mais c'est vrai que je n'avais pas été clair.
Mes données non sont pas trié donc d'une feuille à l'autre je ne retrouve pas les memes lignes...
Je crois que tes formules ne fonctionnent pas dans mon cas.

Mais je te remercie qd meme!
0
Mabelle60 Messages postés 468 Date d'inscription mercredi 4 avril 2007 Statut Membre Dernière intervention 21 juin 2017 130
25 févr. 2009 à 17:01
Salut
J'essaierai avec sommeprod
A placer en Feuil2!D1
si tes valeurs en D sont des chiffres
=SOMMEPROD((Feuil1!A1:A2000 = Feuil2!A1)*(Feuil1!B1:B2000 = Feuil2!B1)*(Feuil1!C1:C2000 = Feuil2!C1);Feuil1!D1:D2000)
si tes valeurs en D sont du texte
=SOMMEPROD((Feuil1!A1:A2000 = Feuil2!A1)*(Feuil1!B1:B2000 = Feuil2!B1)*(Feuil1!C1:C2000 = Feuil2!C1))

Pas en forme Vaucluse aujourd'hui?
0
Merci beaucoup Mabelle60, je crois que ca à l'air de fonctionner !

Seul soucis je n'arrive pas à voir si ca prend bien en compte différentes lignes..car je concatène 2 offres de la Feuil1 en 1 dans la feuil2 (ca se corse..). Par contre elle commence de la meme manière :
l'une est écrite : PRà_MID
et l'autre s'écrit: PRà_MIL

Peut-on dan une fonction distinguer une suite de caractère??

Encore merci!
0
Mabelle60 Messages postés 468 Date d'inscription mercredi 4 avril 2007 Statut Membre Dernière intervention 21 juin 2017 130
26 févr. 2009 à 09:50
Salut
Je pense que c'est réalisable en intégrant un GAUCHE avant un champ de recherhe si tes valeurs de début (PRà) on tous la même mongueur quelque part, mais pour tester, il faudrait un exemple.
Après (si longueurs différentes, ça se complique un peu.
0
Je viens de voir la fonction GAUCHE, mais je comprend pas sont fonctionnement...
J'ai au total 4 Offres distinctes :
STD_PRODEP
STANDARD
PRà_MIL
PRà_MID

Mais dans ma Feuil2, je ne fais pas de distinction entre PRà_MIL et PRà_MID.

J'espère que ca t'avance, quand tu dis meme longueur, je pense que c'est oui : les 2 Offres Prà s'écrivent pareil mais se distinguent par leur dernière lettre. Tu pense que c'est bon?

MERCI
0
xkristi Messages postés 4264 Date d'inscription lundi 18 décembre 2006 Statut Membre Dernière intervention 19 août 2022 564 > Jeff
26 févr. 2009 à 10:17
Salut

fonction GAUCHE

si la colonne A2 contient PRà_MIL
GAUCHE(A2;3) ramène les 3 premiers caractères
tu peux changer 3 par 4 ou 5 comme tu le veux
0
Mabelle60 Messages postés 468 Date d'inscription mercredi 4 avril 2007 Statut Membre Dernière intervention 21 juin 2017 130 > Jeff
26 févr. 2009 à 10:21
Salut
Mettons en colonne A de la feuille 1 tes STD_PRODEP; STANDARD; PRà_MIL; PRà_MLD
Pour le test de la formule, j'ai mis en feuille 2 A1 les trois premiers caractères à trouver
EN D1 de lafeuille 2 ta formule
=SOMMEPROD((GAUCHE(Feuil1!A1:A2000;3) = Feuil2!A1)*(Feuil1!B1:B2000 = Feuil2!B1)*(Feuil1!C1:C2000 = Feuil2!C1);Feuil1!D1:D2000)

Explication de Gauche : extrait les x premiers caractères de la cellule de référence en partant de la gauche (on à la même pour Droite)
Soit dans la fromule proposée, testera dans la colonne de référence Feuil1!A1:A2000 toutes les valeurs qui commencerons par les 3 caractères identifiés en Feuille 2 A1
0
Jeff > Mabelle60 Messages postés 468 Date d'inscription mercredi 4 avril 2007 Statut Membre Dernière intervention 21 juin 2017
26 févr. 2009 à 11:00
Bon je l'ai testé et ça me convient parfaitement!
Merci beaucoup pour ton aide Mabelle60, surtout tu es super réactive!
C'est la première que je viens sur un forum, et franchement je suis épaté!!

MERCI
0