Probleme dans un tableau

isaruns Messages postés 3 Statut Membre -  
Raymond PENTIER Messages postés 58211 Date d'inscription   Statut Contributeur Dernière intervention   -
Bonjour,

Suite a un projet je doit mettre en place un dossier excel avec SI. ce dernier est très complexe

Exemple
D18=SI(D5="";"";
SI(ET(D5=SecA;D5=Conif);(D5*RdtCm)*RdtSecA;
SI(ET(D5=SecA;D5=Feuil);(D5*RdtFm)*RdtSecA;
SI(ET(D5=SecB;D5=Conif);(D5*RdtCm)*RdtSecb;
SI(ET(D5=SecB;D5=Feuil);(D5*RdtFm)*RdtSecb;
SI(ET(D5=SecC;D5=Conif);(D5*RdtCm)*RdtSecC;
SI(ET(D5=SecC;D5=Feuil);(D5*RdtFm)*RdtSecC;"er")))))))

Ce dernier devrait m aider a calculer le revenu que pourrait générer une espèces d arbre(epicea,chene,...) en fonction de leur rendement moyen par famille(Conifères[RdtCm] ou Feuillus[RdtFm])défini par leur type de famile (Conifères[Conif] ou Feuillus[Feuil]) et du rendement par secteur(A[RdtSecA], B[RdtSecB] ou C[RdtSecC]) defini par leur secteur(A[SecA], B[SecB] et c[SecC]). Tout ca a partir de la surface(nb d hectars) total disponible en D5. Cette écriture doit etre la meme pour tout les cases du second tableau.

Si quelqu un peut m'aider a résoudre ce problèmes sans changer la mise
Je joint a ce message une capture d'écran


ainsi que la la liste permettant de connaitre les noms donnés

Conif =Feuil1!$A$4:$E$6
Feuil =Feuil1!$A$7:$E$11
RdtCm =Feuil1!$E$27
RdtFm =Feuil1!$E$28
RdtSecA =Feuil1!$I$22
RdtSecb =Feuil1!$I$23
RdtSecC =Feuil1!$I$24
SecA =Feuil1!$C:$C
SecB =Feuil1!$D:$D
SecC =Feuil1!$E:$E

Merci
#Excel#Bureautique

Configuration: Windows / Edge 17.17134

4 réponses

  1. Raymond PENTIER Messages postés 58211 Date d'inscription   Statut Contributeur Dernière intervention   17 480
     
    Bonjour.

    Il serait beaucoup plus simple et efficace d'envoyer le fichier, et non une photo d'écran.
     1) Tu vas dans https://www.cjoint.com/ 
    2) Tu cliques sur [Parcourir] pour sélectionner ton fichier (15 Mo maxi)
    3) Tu défiles vers le bas pour cliquer sur le bouton bleu [Créer le lien Cjoint]
    4) Au bout de quelques secondes la deuxième page s'affiche, avec le lien en gras ; tu fais un clic-droit dessus et tu choisis "Copier le lien"
    5) Tu reviens dans ta discussion sur CCM, et dans ton message tu fais "Coller".
    =>Voir la fiche https://www.commentcamarche.net/faq/29493-utiliser-cjoint-pour-heberger-des-fichiers
    0
    1. isaruns Messages postés 3 Statut Membre
       
      Bonjour,
      Mon ordinateur ne peut pas aller sur ce site car non sécuriser
      0
    2. isaruns Messages postés 3 Statut Membre
       
      Merci voici le lien
      https://mon-partage.fr/f/6QN0Jlwe/
      0
  2. Raymond PENTIER Messages postés 58211 Date d'inscription   Statut Contributeur Dernière intervention   17 480
     
    Bonjour isaruns.

    Quand tu écris au début de la formule en D18 SI(ET(D5=SecA;
    Excel cherche dans la plage SecA, c'est-à-dire la colonne C:C, la donnée correspond à la ligne 18, et non à la ligne 5 comme tu l'imaginais.
    Ta formule n'avait donc aucune chance de marcher !

    Je profite de ce message pour t'adresser une recommandation :
    évite autant que possible les lignes vides ...

    0
  3. Raymond PENTIER Messages postés 58211 Date d'inscription   Statut Contributeur Dernière intervention   17 480
     
    Ta formule en D18 se réfère aux données relatives à l'espèce étudiée.
    Il faudra donc utiliser la fonction RECHERCHEV ; mais la première colonne devra impérativement contenir les espèces.
    Voici comment j'ai modifié ta feuille :
    Intervertir les colonnes A et B
    Recopier A4:B11 en A17:B24
    Déplacer les tableaux "rendement" (pour une lecture plus facile)
    Supprimer l'espace dans
    Secteur X
    pour utiliser les noms définis
    Définir les noms :
    - "plaj" pour la plage A2:E11
    - "conifères" pour la cellule I8
    - "feuillus" pour la cellule I9
    - "SecteurA" pour la cellule I20
    - "SecteurB" pour la cellule I21
    - "SecteurC" pour la cellule I22
    >>>>>>>>> bien entendu tes noms définis deviennent inutiles ...
    Ecrire en C18 la formule
    =SI($A18="";"";RECHERCHEV($A18;plaj;COLONNE();0)*INDIRECT(RECHERCHEV($A18;plaj;2;0))*INDIRECT(INDEX(D:D;2)))
    Copier cette formule dans toute la plage C17:E24
    0
  4. Raymond PENTIER Messages postés 58211 Date d'inscription   Statut Contributeur Dernière intervention   17 480
     


    Et voici ce qu'on obtient :

    https://mon-partage.fr/f/iOZgpnBF/
    0