Problème de formule

Résolu
leozero Messages postés 90 Statut Membre -  
leozero Messages postés 90 Statut Membre -
Bonjour,

tout d'abord, bonne année à tous ! qu'elle soit bonne pour chacun d'entre vous !

je travail sur Excel mac et lorsque je fais "entrer" après avoir terminer ma formule, Excel me dit qu'il y a une erreur... mais laquelle ?

voici la formule :

=si(C11="";"";SI(C12<=10,2;"DN 6";SI(OU(C12>10,2;C12<=13,5);"DN 8";si(ou(C12>13,5;C12<=17,2);"DN 10";si(ou(C12>17,2;C12<21,3);"DN 15";si(ou(C12>21,3;C12<=26,9);"DN 20";si(ou(C12>26,9;C12<=33,7);"DN 25";si(ou(C12>33,7;C12<=42,4);"DN 32";si(ou(C12>42,4;C12<=48,3);"DN 40";si(ou(C12>48,3;C12<=60,3);"DN 50";si(ou(C12>60,3;C12<=76,1);"DN 65";si(ou(C12>76,1;C12<=88,9);"DN 80";si(ou(C12>88,9;C12<=101,6);"DN 90";si(ou(C12>101,6;C12<=114,3);"DN 100";si(ou(C12>114,3;C12<=139,7);"DN 125";si(ou(C12>139,7;C12<=168,3);"DN 150";si(ou(C12>168,3;C12<=219,1);"DN 200";si(ou(C12>219,1;C12<=273);"DN 250";si(ou(C12>273;C12<=323,9);"DN 300";si(ou(C12>323,9;C12<=355,6);"DN 350";si(ou(C12>355,6;C12<=406,4);"DN 400";si(ou(C12>406,4;C12<=457);"DN 450";si(ou(C12>457;C12<=508);"DN 500";si(ou(C12>508;C12<=559);"DN 550";si(ou(C12>559;C12<=610);"DN 600";si(ou(C12>610:C12<=660);"DN 650";si(ou(C12>660;C12<=711);"DN 700";si(ou(C12>711;C12<=762);"DN 750";si(ou(C12>762;C12<=813);"DN 800";"")))))))))))))))))))))))))))))

J'ai pensé que c'était une erreur de parenthèse mais je n'en ai finalement pas l'impression.

Saurez-vous m'aider svp ?

Merci d'avance,
Leo

4 réponses

  1. Utilisateur anonyme
     
    Je crois que c'est parce qu'Excel permet seulement 7 Si imbriqué.

    Il va falloir trouver une autre façon de faire ta formule.
    0
  2. leozero Messages postés 90 Statut Membre
     
    Merci RachelMartel !
    0
    1. Utilisateur anonyme
       
      Regarde pour une RechercheV, je crois que c'est la meilleure solution.
      0
    2. leozero Messages postés 90 Statut Membre
       
      je vais essayer ça oui
      0
    3. leozero Messages postés 90 Statut Membre
       
      Je viens de trouver l'erreur ^^

      juste ici :

      si(ou(C12>610:C12<=660);"

      erreur de syntaxe vers la fin de la formule, j'ai mis DEUX POINTS au lieu d'un POINT VIRGULE :)

      Merci encore !
      0
  3. leozero Messages postés 90 Statut Membre
     
    Re,

    en fait la formule fonctionne très bien avec l'erreur trouver mais SURTOUT avec la fonction ET !
    pas la fonction OU.

    Voici la formule exacte :

    =SI(C11="";"";SI(C12<=10,2;"DN 6";SI(ET(C12>10,2;C12<=13,5);"DN 8";SI(ET(C12>13,5;C12<=17,2);"DN 10";SI(ET(C12>17,2;C12<21,3);"DN 15";SI(ET(C12>21,3;C12<=26,9);"DN 20";SI(ET(C12>26,9;C12<=33,7);"DN 25";SI(ET(C12>33,7;C12<=42,4);"DN 32";SI(ET(C12>42,4;C12<=48,3);"DN 40";SI(ET(C12>48,3;C12<=60,3);"DN 50";SI(ET(C12>60,3;C12<=76,1);"DN 65";SI(ET(C12>76,1;C12<=88,9);"DN 80";SI(ET(C12>88,9;C12<=101,6);"DN 90";SI(ET(C12>101,6;C12<=114,3);"DN 100";SI(ET(C12>114,3;C12<=139,7);"DN 125";SI(ET(C12>139,7;C12<=168,3);"DN 150";SI(ET(C12>168,3;C12<=219,1);"DN 200";SI(ET(C12>219,1;C12<=273);"DN 250";SI(ET(C12>273;C12<=323,9);"DN 300";SI(ET(C12>323,9;C12<=355,6);"DN 350";SI(ET(C12>355,6;C12<=406,4);"DN 400";SI(ET(C12>406,4;C12<=457);"DN 450";SI(ET(C12>457;C12<=508);"DN 500";SI(ET(C12>508;C12<=559);"DN 550";SI(ET(C12>559;C12<=610);"DN 600";SI(ET(C12>610;C12<=660);"DN 650";SI(ET(C12>660;C12<=711);"DN 700";SI(ET(C12>711;C12<=762);"DN 750";SI(ET(C12>762;C12<=813);"DN 800";"")))))))))))))))))))))))))))))

    Merci encore RachelMartel
    0
    1. Utilisateur anonyme
       
      Ah bon! Je suis surprise de voir qu'on peut utiliser autant de Si imbriqué. Chez moi, j'ai un message d'erreur. Mais bon, tant mieux si ça fonctionne pour toi :P
      0
    2. leozero Messages postés 90 Statut Membre
       
      Tu veux que je t'envoie mon fichier ? juste pour info
      0
    3. Utilisateur anonyme
       
      Oui bien sûr :)
      0
  4. PapyLuc51 Messages postés 4569 Date d'inscription   Statut Membre Dernière intervention   1 511
     
    Bonjour

    Une autre possibilité de formule

    =SI(C11="";"";RECHERCHE(C12;{0;10,3;13,6;17,3;21,4;27;33,8;42,5;48,4;60,4;76,2;89;101,7;114,4;139,8;168,4;219,2;273,1;324;355,7;406,5;457,1;508,1;559,1;610,1;660,1;711,1;762,1;813,1};{"DN 6";"DN 8";"DN 10";"DN 15";"DN 20";"DN 25";"DN 32";"DN 40";"DN 50";"DN 65";"DN 80";"DN 90";"DN 100";"DN 125";"DN 150";"DN 200";"DN 250";"DN 300";"DN 350";"DN 400";"DN 450";"DN 500";"DN 550";"DN 600";"DN 650";"DN 700";"DN 750";"DN 800"}))

    Dans la 1ère partie entre {} j'ai ajouté 0,1 pour marquer la limite supérieure de tes tests si(et)
    Par contre je suis étonné : dans la première partie de ta formule, que j'ai reportée, tu mets C11 alors que tout le reste est C12.

    cordialement
    0
    1. Leozero
       
      Salut PapyLuc51,

      oui je parle de C11 au tout début car je veux dire :

      Tant que C11 est vide, je ne veux pas que le calcul se fasse !
      0
    2. PapyLuc51 Messages postés 4569 Date d'inscription   Statut Membre Dernière intervention   1 511
       
      Bonjour,

      C'était juste pour signaler au cas ou, mon doute est dissipé.

      Cordialement
      0