Nombre de fonctions CHERCHE imbriquées

Résolu
identifiant-comment Messages postés 351 Statut Membre -  
identifiant-comment Messages postés 351 Statut Membre -
Bonjour,

Savez-vous combien de fois on peut utiliser la fonction CHERCHE dans une formule ?

Dans la formule qui suit, la sixième et dernière occurrence de CHERCHE est signalée comme erreur. Je n'ai fait pourtant que copier la formule précédente...

=SI(A9=Params!$D$8;SI(SOMME(NON(ESTERREUR(CHERCHE(B9;'[Ref-cas-test-ProjetX-v0.6.xls]REF'!$H$19:$H$868)))*1);INDEX('[Ref-cas-test-ProjetX-v0.6.xls]REF'!$A$1:$A$868;MAX(NON(ESTERREUR(CHERCHE(B9;'[Ref-cas-test-ProjetX-v0.6.xls]REF'!$H$19:$H$868)))*LIGNE($H$19:$H$868)));Params!$D$19);SI(A9=Params!$D$9;SI(SOMME(NON(ESTERREUR(CHERCHE(B9;'[Ref-cas-test-ProjetX-v0.6.xls]REF'!$J$19:$J$868)))*1);INDEX('[Ref-cas-test-ProjetX-v0.6.xls]REF'!$A$1:$A$868;MAX(NON(ESTERREUR(CHERCHE(B9;'[Ref-cas-test-ProjetX-v0.6.xls]REF'!$J$19:$J$868)))*LIGNE($J$19:$J$868)));Params!$D$19);SI(A9=Params!$D$10;SI(SOMME(NON(ESTERREUR(CHERCHE(B9;'[Ref-cas-test-ProjetX-v0.6.xls]REF'!$F$19:$F$868)))*1);INDEX('[Ref-cas-test-ProjetX-v0.6.xls]REF'!$A$1:$A$868;MAX(NON(ESTERREUR(CHERCHE(B9;'[Ref-cas-test-ProjetX-v0.6.xls]REF'!$F$19:$F$868)))*LIGNE($F$19:$F$868)));Params!$D$19);0)))

Merci pour votre aide !
Configuration: Windows XP
Internet Explorer 7.0

8 réponses

  1. Raymond PENTIER Messages postés 58211 Date d'inscription   Statut Contributeur Dernière intervention   17 480
     
    Bonjour.
    1) La formule écrite ci-dessus comporte 855 caractères, alors qu'Excel n'en accepte que 255.
    2) Les versions d'Excel antérieures à 2007 n'acceptent effectivement que 7 niveaux d'imbrication dans les formules.
    3) Par ailleurs veuille noter que
    =Si(ESTERREUR(calcul);"à revoir";résultat)
    est équivalent à
    =SI(NON(ESTERREUR(calcul);résultat;"à revoir"))
    et fait gagner en mémoire, en vitesse d'exécution, en fiabilité et en lisibilité !
    Cordialement.
    1
  2. eriiic Messages postés 24581 Date d'inscription   Statut Contributeur Dernière intervention   7 281
     
    Re,

    Le nombre maxi de fonctions (quelles qu'elles soient) imbriquées est de 7.
    Là en l'occurence il s'agit des SI
    eric
    0
  3. Raymond PENTIER Messages postés 58211 Date d'inscription   Statut Contributeur Dernière intervention   17 480
     
    (suite)

    Ta formule est inutilement compliquée à lire ; il faut la rendre plus lisible. Tu commences par nommer tes 4 plages
    MatA pour '[Ref­-cas-test-ProjetX-v0.6.xls]REF'!$A$1:$A$868,
    MatF pour '[Ref-­cas-test-ProjetX-v0.6.xls]REF'!$F$19:$F$868,
    MatH pour '[Ref-­cas-test-ProjetX-v0.6.xls]REF'!$H$19:$H$868,
    MatJ pour '[Ref-­cas-test-ProjetX-v0.6.xls]REF'!$J$19:$J$868.
    Du coup ta formule
    =SI(A9=Params!$D$8;SI(SOMME(NON(ESTERREUR(CHERCHE(B9;'[Ref-c­as-test-ProjetX-v0.6.xls]REF'!$H$19:$H$868)))*1);INDEX('[Ref­-cas-test-ProjetX-v0.6.xls]REF'!$A$1:$A$868;MAX(NON(ESTERREU­R(CHERCHE(B9;'[Ref-cas-test-ProjetX-v0.6.xls]REF'!$H$19:$H$8­68)))*LIGNE($H$19:$H$868)));Params!$D$19);SI(A9=Params!$D$9;­SI(SOMME(NON(ESTERREUR(CHERCHE(B9;'[Ref-cas-test-ProjetX-v0.­6.xls]REF'!$J$19:$J$868)))*1);INDEX('[Ref-cas-test-ProjetX-v­0.6.xls]REF'!$A$1:$A$868;MAX(NON(ESTERREUR(CHERCHE(B9;'[Ref-­cas-test-ProjetX-v0.6.xls]REF'!$J$19:$J$868)))*LIGNE($J$19:$­J$868)));Params!$D$19);SI(A9=Params!$D$10;SI(SOMME(NON(ESTER­REUR(CHERCHE(B9;'[Ref-cas-test-ProjetX-v0.6.xls]REF'!$F$19:$­F$868)))*1);INDEX('[Ref-cas-test-ProjetX-v0.6.xls]REF'!$A$1:­$A$868;MAX(NON(ESTERREUR(CHERCHE(B9;'[Ref-cas-test-ProjetX-v­0.6.xls]REF'!$F$19:$F$868)))*LIGNE($F$19:$F$868)));Params!$D­$19);0)))
    pourra s'écrire
    =SI(A9=Params!$D$8;SI(SOMME(NON(ESTERREUR(CHERCHE(B9;MatH)))*1);INDEX(MatA; MAX(NON(ESTERREU­R(CHERCHE(B9;MatH)))*LIGNE($H$19:$H$868)));Params!$D$19);SI(A9=Params!$D$9;­SI(SOMME(NON(ESTERREUR(CHERCHE(B9;MatJ)))*1);INDEX(MatA;MAX(NON(ESTERREUR(CHERCHE(B9;MatJ)))*LIGNE($J$19:$­J$868)));Params!$D$19);SI(A9=Params!$D$10;SI(SOMME(NON(ESTER­REUR(CHERCHE(B9;MatF)))*1);INDEX(MatA;MAX(NON(ESTERREUR(CHERCHE(B9;MatF)))*LIGNE($F$19:$F$868)));Params!$D­$19);0)))
    le gain est appréciable, non ?
    0
  4. identifiant-comment Messages postés 351 Statut Membre 54
     
    Ah, oui, je le note !
    Là, on est jeudi, 19h30 et veille de long WE... Alors on verra lundi matin sans fautes !
    0
  5. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  6. identifiant-comment Messages postés 351 Statut Membre 54
     
    Bonjour !

    C'est la première fois que je nomme des plages de cellules, et je dois louper une fois, parce que ma formule ne les reconnais pas...
    Vous auriez une idée ?

    merci !
    0
  7. identifiant-comment Messages postés 351 Statut Membre 54
     
    Re bonjour...

    Après pas mal de test j'en arrive à la conclusion suivante : j'arrive à nommer des plages de cellules, à les imbriquer dans des formules, mais dès que j'essaie de le faire pour la formule citée plus haut, cela me renvoie un résultat à 0. Je n'arrive vraiment pas à voir pourquoi.

    Vivement votre retour et merci de votre aide !
    0
  8. Raymond PENTIER Messages postés 58211 Date d'inscription   Statut Contributeur Dernière intervention   17 480
     
    Sans voir le fichier, ça relève des sciences divinatoires !
    Assure-toi de faire une copie de fichier au format 2003 (.xls) sans macro, en modifiant les noms propres s'il y en avant de créer un lien avec https://www.cjoint.com/ et de le coller dans un procahin post.
    0
  9. identifiant-comment Messages postés 351 Statut Membre 54
     
    Vous avez raison, ça relevait des sciences divinatoires... Et j'ai trouvé l'erreur ! :)
    Merci pour votre aide !
    0