Rechercher une valeur sur plusieurs arguments

aleftau

XLDnaute Nouveau
Bonjour à toutes et tous
je cherche un petit géni de la macro et des fonctions Excel,
Mon problème :
j ai un fichier source que je ne peux modifier (ni tri ni rajout de données, ni création de matrice !)
dans un autre fichier (destination) je veux rapporter dans une cellule (toujours la même) la valeur correspondant à plusieurs arguments du fichier source qui me désignera une ligne précise .... c 'st pas clair ???
pardon je reprends :
en colonne A j'ai 17 noms de régions (françaises : picardie, Bourgogne ...),
en colonne C j ai un numéro de ligne compris de 1 à 13
en colonne F j ai des valeurs
chaque régions peut avoir de 1 à 13 lignes
je veux faire une macro qui cherche la condition 'nom de région ', puis ensuite la condition 'N° de ligne' et qui si ces deux conditions sont remplies, me rapporte la valeur de la colonne F
Comment puis je opérer SVP

1000 mercis au détenteur de la solution qui saura me la faire parvenir.

Bon surf à tous


:woohoo: :unsure: :unsure:
 

aleftau

XLDnaute Nouveau
Naturellement dg62 (je suis couillon j aurais du le faire dés le début !)
donc je souhaite une fonction qui cherche dans la colonne A ''NOMREG', le nom d'une région puis ensuite dans la colonne E 'ligne' un N° que je mets en référence (en dur)
et cela doit me rapporter dans un cellule définie (celle ou initialement je pensais mettre la fonction mais si c est une macro... il me faudra désigner le gisement de la cellule) la valeur de la colonne F 'NB_DOS'

j espère que ca te semble compréhensible !

donc par contre je le répète, je ne peux pas toucher au fichier source (celui en pièce jointe) car il est écrabouillé régulièrement et que je veux pas m enquiquiner a le modifier à chaque fois !

Merci beaucoup

aleftau [file name=VOLET_ctr1.zip size=14960]http://www.excel-downloads.com/components/com_simpleboard/uploaded/files/VOLET_ctr1.zip[/file]
 

Pièces jointes

  • VOLET_ctr1.zip
    14.6 KB · Affichages: 25

dg62

XLDnaute Barbatruc
Bonjour Gérard


Je mets également le résultat de ma recherche avec sommeProd


=SOMMEPROD((SOMME_CTR!A2:A400=B1)*(SOMME_CTR!E2:E400=B2)*(SOMME_CTR!F2:F400))

sur une feuille 2 avec en b1 le nom de la région et en b2 le n° de ligne.


Tu peux agémenter l'interface comme l'a fait Gérard pour facilter la saisie.

Message édité par: dg62, à: 04/03/2005 12:33
 

Gérard DEZAMIS

XLDnaute Accro
Re DG62

Entièrement d'accord, ce qui permet de ne pas toucher à la feuille 1


cf. Feuill2
@+ GD [file name=VOLET3.zip size=22484]http://www.excel-downloads.com/components/com_simpleboard/uploaded/files/VOLET3.zip[/file]
 

Pièces jointes

  • VOLET3.zip
    22 KB · Affichages: 28

aleftau

XLDnaute Nouveau
Alors là, Gérard et Didier, je dis chapeau ... joint.
vous avez attaqué le sujet par une méthode que je n'avais pas immaginée .

Cependant il y a juste un tout petit hic, Gérard, ta solution 'nomme' des (sections de) colonnes ce qui m'ammène à la contrainte de faire une macro pour automatiser le 'nommage' de mes sections ...

Par hasard vous n'auriez pas cela dans vos archives car je me rends compte qu'en automatisation de tâches je suis vraiment une buse !

Par contre si je retiens l'idée de Didier cela ne fonctionne pas, je vous joins le fichier destination ainsi que deux variables de ce que vous m'avez proposé mais celles-ci ne fonctionnent pas,
le premier est en recherche absolue par colonne , la seconde est sur une section de colonne
Peut être est ce 'SOMMEPROD' qui ne marche que sur des matrices (colonnes nommées) comme l'a fait Gérard ?

Encore une petite demande (j'abuse, pardon mais là vous m'avez passionné) , comment créé-t-on les boites à outils et surtout comment puis je en lire et en modifier le code SVP ? :eek:

En tout cas à l'un comme à l'autre je vous dis un immense Merci je n'en esperais pas tant, Sincèrement,
je m'incline aussi devant votre réactivité, et les fichiers résultats que vous m'avez joint, cela sent le professionnalisme ...

aleftau
[file name=VOLET4-2_20050304152009.zip size=11680]http://www.excel-downloads.com/components/com_simpleboard/uploaded/files/VOLET4-2_20050304152009.zip[/file]
 

Pièces jointes

  • VOLET4-2_20050304152009.zip
    11.4 KB · Affichages: 18

dg62

XLDnaute Barbatruc
re

Qu'est-ce qui ne fonctionne pas ?

=SOMMEPROD((SOMME_CTR!A2:A400=B1)*(SOMME_CTR!E2:E400=B2)*(SOMME_CTR!F2:F400))

tu dois simplement adapter la référence à la région et celle à la ligne.
Soit B1 et B2 [file name=volet.zip size=12031]http://www.excel-downloads.com/components/com_simpleboard/uploaded/files/volet.zip[/file]
 

Pièces jointes

  • volet.zip
    11.7 KB · Affichages: 22

Gérard DEZAMIS

XLDnaute Accro
Bonjour Aleftau et DG62

'Ma' solution ne nomme pas, c'est moi qui nomme !
Simplement par facilité d'écriture c'est plus facile d'écrire 'Zone1' par exemple que 'G345:K678' ....

Un probleme de Somme Prod c'est que :
1 Elle (la formule) ne fonctionne pas sur des colonnes entières A:A
2 Les plages qui sont utilisées pour cette formules DOIVENT ETRE de MÊMES TAILLES

Ce qui fait en fait 2 problèmes !

Boite à outils à créer ? Où ? Je ne comprends pas bien (même pas du tout) ta question.

'cela sent le professionnalisme ...' pour DG certes mais pour GD un simple amateurisme pas toujours bien éclairé !

A bientôt

@+ GD
 

aleftau

XLDnaute Nouveau
Ohhhh làla, je suis bluffé ça fonctionne 100%
tout ça a cause d'une différence entre le nombre de lignes, d une colonne sélectionné à l'autre ... cela dit c est logique puisque ce sont des matrices !

concernant ma demande sur la boite à outils je me rapporte à tes données en Jaune dans 'VOLET3.xls', je ne sais pas comment tu as créé ces données, peux tu me l'expliquer ... enfin je ne veux pas abuser non plus car je suis baba sur SommeProd la fonction est totalement détournée de son contexte mais ça fonctionne parfaitement c est fabuleux !

Donc, de nouveau je réitère mes remerciements, àl'amateur éclairé comme au pro :)

:woohoo:
 

Gérard DEZAMIS

XLDnaute Accro
Bonjour Monique ...

Aleftau a de la chance !
Super Monique arrive !

Si tu la laisse faire c'est pas Aleftau qu'il va falloir t'appeler mais ... Acouchtard !


j'envoie quand même mon explication pour les 'outils'

@+ GD
[file name=VOLETExplic.zip size=4823]http://www.excel-downloads.com/components/com_simpleboard/uploaded/files/VOLETExplic.zip[/file]
 

Pièces jointes

  • VOLETExplic.zip
    4.7 KB · Affichages: 24

aleftau

XLDnaute Nouveau
Ouhhh y a de la connaissance dans l'air ...mais je n ai pas compris la remarque (est ce lié à ma curiosité ou aux infos de Monique ??)

Alors pour Monique, j ai bien tenté d'appliquer la fonction mais cela ne fonctionne pas et je ne comprends pas pourquoi ?
voici le détail pratique
=INDEX([VOLET3.xls]SOMME_CTR!F2:F400;EQUIVA6&1;[VOLET3.xls]SOMME_CTR!A2:A400&[VOLET3.xls]SOMME_CTR!E2:E400;0)
ou dans le fichier joint ...

je vois bien qu'il y a un hic mais je ne sais où je pense que c'est 'EQUIVA6&1'
où 'A6' devrait être le gisement d'une cellule de référence et 1 la valeur du N° de ligne cherché (on peut mettre 2, 3 ... 13 )

Gérard encore une fois je te remercie vraiment t es le 'top' de la serviabilité, Muchas Gracias !

[file name=VOLET4-3_20050304175445.zip size=9276]http://www.excel-downloads.com/components/com_simpleboard/uploaded/files/VOLET4-3_20050304175445.zip[/file]

Message édité par: aleftau, à: 04/03/2005 17:54

Message édité par: aleftau, à: 04/03/2005 17:57
 

Pièces jointes

  • VOLET4-3_20050304175445.zip
    9.1 KB · Affichages: 30

Monique

Nous a quitté
Repose en paix
Re,

Je n'avais pas vu ton fichier joint.
Ton fichier est protégé et, en plus, il a une liaison vers volet3.xls

Tu as, en B14 :
=INDEX([VOLET3.xls]SOMME_CTR!F2:F400;EQUIV(B1&B2;[VOLET3.xls]SOMME_CTR!A2:A400&[VOLET3.xls]SOMME_CTR!E2:E400;0))
B1 et B2 sont des cellules vides

Tu as, en C14 :
=SOMMEPROD(([VOLET3.xls]SOMME_CTR!A1:A400=A6)*([VOLET3.xls]SOMME_CTR!E2:E400=2)*([VOLET3.xls]SOMME_CTR!F2:F400))
A1:A400 n'a pas la même longueur que E2:E400 et F2:F400
 

Discussions similaires

Réponses
3
Affichages
215

Statistiques des forums

Discussions
314 450
Messages
2 109 724
Membres
110 552
dernier inscrit
jasson