Probleme avec la formule "SI"

Résolu
Bonjour à tous,

Voila j'ai un petit problème avec excel et j'aurais besoin de vos lumières.
J'etabli une facture et j'aimerais dans une cellule lui demande de ne rien mettre si aucune référence n'est indique ( sur la maquette de la facture)
J'ai donc essayer sa : =SI(D22;"";"RECHERCHEV($C$22;produits;2;0)")
Mais cela ne marche pas et il y a un "0" qui apparaît ..
( la cellule D22 représente la case que je veux vide si aucune référence n'est indique dans la case C22 )
la case C22 est donc celle ou est renseigne la référence produit ( qui va le rechercher directement sur la feuille produit)
En claire je souhaiterais lui dire " si la cellule C22 est vide ( qui n'y a aucune référence d'indique) alors je veux que la case ( ou je saisit cette formule et donc la D22) reste vide ( car avec juste la formule =RECHERCHEV($C$22;produits;2;0) il laisse apparaître #N/A ( et c'est ce dernier que je ne veux pas voir apparaître )

Voila, voila j’espère avoir été claire ( ce n'est pas simple a explique)

Merci à vous !

5 réponses

  1. Bonjour

    Peux tu nous joindre ton fichier
    Pour transmettre un fichier, il faut passer par un site de pièce jointe tel que cjoint.com

    Va sur ce site : https://www.cjoint.com/
    Clic sur parcourir,
    Cherche ton fichier,
    clic sur ouvrir,
    Clic sur "Créer le lien cjoint",
    Copier le lien,
    Revenir ici le coller dans une réponse..
    Cordialement
    1
    1. Contributeur
      Bonjour.

      Déjà, en première lecture, il y a deux erreurs de syntaxe : la condition n'est pas explicitée, et il y a des guillemets intempestifs.

      =SI(D22;"";"RECHERCHEV($C$22;produits;2;0)")
      doit s'écrire
      =SI(D22=0;"";RECHERCHEV($C$22;produits;2;0))

      Et à la lecture de ton fichier, on verra si les caractères $ sont justifiés ...
      1
      1. Contributeur
        Bonsoir

        vous ne pouvez pas écrire en D22 une formule qui fait référence à D22
        et donc le SI(D22="" ne convient pas, si j'ai bien lu votre message (référence circulaire)

        s'il s'agit d'éviter le #N/A deux options:

        excel à partir de 2007:

        =SIERREUR(RECHERCHEV($C$22;produits;2;0);"")

        et avant 2007 deux options:

        =SI(ESTERREUR(RECHERCHEV($C$22;produits;2;0));"";RECHERCHEV($C$22;produits;2;0))

        ou plus court, mais là il faut faire référence à la première colonne du champ nommé produit dont je ne connais pas l'adresse (ci dessous appelé "colonne")

        =SI(NB.SI(colonne;C22)=0;"";;RECHERCHEV($C$22;produits;2;0))

        crdlmnt
        1
        1. Merci a tous pour vos réponse mais mon 0 est toujours la ..
          Voici le lien du document http://www.cjoint.com/c/FKAt4iwiOjJ

          Merci a tous !
          1
          1. Contributeur
            Ton lien n'a pas l'air de fonctionner.
            Peux-tu recommencer, en respectant scrupuleusement les instructions de jc80 ?
            0
          2. je comprends pas le lien marche bien normalement ... je le remet pour voir ? ===> http://www.cjoint.com/c/FKAt4iwiOjJ
            0
          3. Contributeur
            @mowOK, c'est bon ...
            Et je confirme : la formule =SI(C22=0;"";RECHERCHEV(C22;produits;2;0))
            marche parfaitement bien !
            Je te conseille de donner à la plage B4:B18 de la feuille "produit" le nom REFERENCE, que tu utiliseras comme source de liste déroulante de cellule dans ta colonne C
            .
            0
          4. Je vais suivre vos conseils !
            Merci beaucoup !!!
            0
        2. Bonjour, avec une estvide()
          0
          1. Contributeur
            Bonjour
            ce qu'on peut surtout confimer, pour l'avenir, c'est, comme déjà dit, qu'il n'est pas possible placer en D22 une formule qui commence par la même adresse, soit SI(D22....) interdit

            Par ailleur en I27 le total sera probablement faux vu qu'il ne concerne que I18:I21! et en I29 la remise s'ajoute au total?

            crdlmnt
            0