Conseil pour améliorer une formule avec rechercheV

Goyan31

XLDnaute Nouveau
Bonjour,

Ne trouvant rien sur le net, je m'en remet à vos lumières :)

Voilà, je bloque avec une formule excel que j'ai faite il y a très longtemps via des anciens sujet sur la fonction rechercheV. Jusqu'à présent cela suffisait mais maintenant mon tableur est en évolution de données et cette formule devient vitre contraignante.

La formule est :

=SI(ET($I$6="Galva";I11>0);RECHERCHEV(I11-1;$AR$5:$AR$40;1);0)+SI(ET($I$6="Acier_Noir";I11>0);RECHERCHEV(I11-1;$AS$5:$AS$40;1);0)......

Je pensais faire une formule du style :
=INDEX(INDIRECT(INDEX(Tubes!C6:E15;I7;2);1);1;2)

Ici I7=I6 soit valeur 1,2,3, etc et dans I6 il y aurait / =SI(I11="Galva";1;SI(I11="Acier_Noir";2;""))


Le but est que si je sélectionne Acier noir ou galva dans la cellule source qu'on appellera A1, je dois avoir en A2 une plage de sélection correspondant à une liste.

Exemple : A1 = Acier noir / A2 = Je sélectionne 65 (via une liste déroulante) et en A3 s'affiche automatiquement la correspondance soit 70,30.

En fonction de cette donnée, en C2 s'affichera automatiquement 50 et en C3 53,80

Pour faciliter les sélections en A1 et A2 je pensais partir avec une validation de donnée -> Liste et en A1 faire =Type (correspondant à une plage nommée) et en A2 validation de donnée -> =INDIRECT(A1)


J'espère avoir été assez clair,

Merci d'avance et bonne journée
 

Modeste

XLDnaute Barbatruc
Re : Conseil pour améliorer une formule avec rechercheV

Bonjour Goyan31 et bienvenue,

Je crois pouvoir parler au nom de la plupart de mes camarades de jeu, en disant qu'avec un bout de fichier, l'affaire serait plus simple à comprendre (sans doute) et nous permettrait (en sus) de faire des tests avant de proposer une piste (ou l'autre).

Ledit fichier sera allégé (pas besoin de l'ensemble, pourvu que l'échantillon soit suffisamment représentatif) et expurgé de toute information de nature confidentielle :)
 

Goyan31

XLDnaute Nouveau
Re : Conseil pour améliorer une formule avec rechercheV

Bonjour Modeste,

En effet avec un fichier exemple ce sera plus facile. Voilà mon fichier de base épuré... Enfin pas trop j'espère ;)

A bientôt,
 

Pièces jointes

  • Altimétrie_GPA 2.2 - Copie.xls
    46 KB · Affichages: 46

Denis132

XLDnaute Impliqué
Re : Conseil pour améliorer une formule avec rechercheV

Bonjour Goyan31, Modeste,

Pas facile car dans les formules que tu nous donnes il y a :

la feuille Tubes que nous n'avons pas

acier_noir que nous n'avons pas

le résultat 70,30 que nous n'avons pas

Je sais que parfois c'est très difficile de simplifier un fichier mais essaie d'en ajouter un peu (sans données personnelles bien sûr)

@+

Denis
 

Goyan31

XLDnaute Nouveau
Re : Conseil pour améliorer une formule avec rechercheV

Bonjour Denis132,

Voilà un nouveau fichier. Sur celui-ci il y a l'onglet interface et l'onglet Tubes. J'y ai mis quelques explications avec des jeux de couleurs pour essayé de faire plus explicite.

Merci,
 

Pièces jointes

  • Altimétries_En cours 2015.xlsx
    27.6 KB · Affichages: 46

Modeste

XLDnaute Barbatruc
Re : Conseil pour améliorer une formule avec rechercheV

Bonsoir Goyan31, Denis,

Un essai ... à confirmer (... ou pas :eek:)
...
  • En C8:
    Code:
    =SIERREUR(INDEX(INDIRECT($C$3);EQUIV($H$3;INDIRECT($C$3);1)-(LIGNES($1:1)-1));"")
  • En E8:
    Code:
    =SI($C8="";"";INDEX(DECALER(INDIRECT($C$3);;-1);EQUIV($C8;INDIRECT($C$3);1)))

Les deux sont à recopier vers le bas.

PS: je ne sais pas pourquoi tes plages nommées contiennent chaque fois la cellule vide au-dessus de la première valeur de chaque plage :confused:

re-PS: attention à la plage Acinox qui fait référence à une plage en colonne C (au lieu de D, me semble-t-il)
 
Dernière édition:

Goyan31

XLDnaute Nouveau
Re : Conseil pour améliorer une formule avec rechercheV

Bonjour Modeste et Denis123,

Modeste, je viens de récupérer les deux codes à rentrer dans les cellules respective, en effet ça correspondant exactement à mes attentes. Je vais encore t'embêter un peu ;)

Si je souhaite utiliser la ligne de commande de E8 en F8 par exemple et faire appel à une autre colonne dans l'onglet tubes, que faut-il que je modifie ?

Dans la formule en C8, à quoi correspond LIGNES stp ?

=SIERREUR(INDEX(INDIRECT($C$3);EQUIV($H$3;INDIRECT($C$3);1)-(LIGNES($1:1)-1));"")

Pour les PS 1 : Pour les plages nommées oui c'est possible j'ai découvert ça il n'y a pas longtemps.. Je viens de trouver sur un des post comment modifier une plage ^^
PS2 : Oui je dois corriger pas mal de choses encore :)

Un gros merci et à bientôt,
Goyan
 

Modeste

XLDnaute Barbatruc
Re : Conseil pour améliorer une formule avec rechercheV

Bonjour Goyan,

Pour ta première question, je dois à l'honnêteté de reconnaître ... que je n'ai pas compris :eek::confused:
Quelques explications complémentaires seraient donc les bienvenues!

Pour ce qui est de la fonction LIGNES, essayons ce qui suit:
EQUIV($H$3;INDIRECT($C$3);1) donne la position de 80 (valeur en H3 de ton exemple) dans la plage nommée Acnoir (en C3,dans ton exemple)
Comme tu veux lister les valeurs, mais en "remontant", il faut trouver un système qui, lorsqu'on recopie la formule vers le bas, "remonte le courant" (un peu comme les saumons). -LIGNES($1:1)-1 en C8, le résultat de ce bout de formule est 0 (on ne "décale" donc ni vers le haut, ni vers le bas.
En recopiant ce même bout de formule vers le bas, elle devient, en C9: -LIGNES($1:2)-1 ... Le résultat est alors -1 (on va donc chercher la valeur qui se trouve, dans la plage Acnoir, 1 ligne au-dessus de 80. En clair, chaque fois que la formule est recopiée vers le bas, elle renvoie une référence à une cellule placée de plus en plus au-dessus de la première valeur cherchée.

... Tu me suis?
 

Goyan31

XLDnaute Nouveau
Re : Conseil pour améliorer une formule avec rechercheV

Bonsoir Modeste,

Merci de ton explication :) pour la première question je dirais que la réponse a ete indirectement établie dans ton complément d'informations sur la formule avec ligne. Je te remercie pour toutes ces infos qui vont vraiment me donner un coup de pouce ! Je vais avancer un peu plus sur la préparation de ce fichier et si jamais je reviendrais t'embêter un peu plus ^^

Bonne soirée et a bientôt,
Goyan.
 

Discussions similaires

Statistiques des forums

Discussions
314 645
Messages
2 111 536
Membres
111 182
dernier inscrit
savio