Fonction à appliquer selon un nom dans une cellule

Romain18

XLDnaute Nouveau
Bien le bonjour,

Malgré une recherche sur le forum, il me semble ne pas avoir trouvé de réponse à ce sujet.

Dans la colonne A:A j'ai une liste déroulante pour un choix de 11 type d’équipements différents:
Equipement_1, Equipement_2, etc....

Dans la colonne E:E (entre les 2 j'ai des valeurs qui serviront aux formules), je dois calculer l'émission de chaleur de l'équipement dont la formule mathématiques dépend du type d'équipement. Pour 11 types d'équipements, j'ai 9 formules différentes.

Même si, avec la fonction SI(Axx="Eqp1";fct;si(Axx="Eqp2";fct;.....) doit pouvoir s'appliquer j'aimerais savoir si il existe une façon différente.

P.S.: je pense qu'en VBA c'est possible, étant plus que novices, j'aimerais éviter cela mais si pas d'autres choix possibles alors let's go VBA :)

par avance, merci,

Cdt,
 

Romain18

XLDnaute Nouveau
Salut JHA,

Merci pour la rapidité de la réponse.

Tu trouveras ci-après un brouillon du tableau que je souhaite faire.


En B se trouve le type d'équipements
De C à E, des infos pour les calculs
En F les calculs
En G, les formules utilisées.

Merci :)
 

Pièces jointes

  • Classeur2.xlsx
    10.8 KB · Affichages: 43
  • Classeur2.xlsx
    10.8 KB · Affichages: 30

chris

XLDnaute Barbatruc
Bonjour

Si cela est limité à 3 formules différentes qui semblent liées à 3 cas,
un tableau avec les équipements et 2 coeff avec une formule adapté doit marcher : voir ci-joint.

Sinon il faut un tableau de formules et des noms dont un en EXCEL4 utilisant EVALUER il me semble

Edit : c'est EVALUER pas EVALUATE donc corrigé + exemple joint
 

Pièces jointes

  • Equipements.xlsx
    13 KB · Affichages: 34
  • EvaluerFormule.xlsm
    10.8 KB · Affichages: 39
Dernière édition:

ODVJ

XLDnaute Impliqué
Bonjour à tous,

même principe que chris :
=C10*SI(EQUIV(B10;liste;0)<=6;D10/100*(1-0,9*((EQUIV(B10;liste;0)=3)+(EQUIV(B10;liste;0)=4)>0));(EQUIV(B10;liste;0)=7)*(11-E10)+(EQUIV(B10;liste;0)=8)*0,2)

avec liste nom défini par :
={"Main Propulsion Diesel Engine";"Diesel Generator Engine";"Boiler";"Thermal Fluid Heater";"Steam Pipe";"Condensate Pipe";"Electrical Air-cooled Generator";"Electrical installation";"Exhaust Pipe including Exhaust gas-fired Boiler";"Hot Tank";"Other Component"}

cordialement
 

chris

XLDnaute Barbatruc
Bonjour

Regarde ma remarque en H5 : il n'y a pas de VBA juste une fonction Excel 4 dans le nom.

On pourrait d’ailleurs aussi s'y référer en VBA...

Mais il te suffit d'ajouter une formule (ou modifier) et =Resultat la calculera...