Bug fonction "ou" excel

Résolu
Bonjour,
J'ai une formule excel qui ne fonctionne pas bien et je ne comprends pas pourquoi:

=SI(OU(ESTERREUR(P264),P264=0),"/ ",JOUR(P264)&"/"&MOIS(P264)&"/"&ANNEE(P264))

Si la P264 =0 , ou contient une date, pas de problèmes, la formule marche très bien. Par contre si la case P264 contient #N/A, alors excel me renvoie #N/A au lieu de "/". Je trouve cela bizarre d'autant plus que si j'enlève la fonction ou et le P264=0 de la formule, alors j'obtiens bien "/"quand la cellule p264 contient #N/A
Quelqu'un peut me dire pourquoi.
Merci

4 réponses

  1. Contributeur
    Bonjour
    je pense qu'excel analyse les deux conditions en même temps et ne peut donc associer les deux simultanément :
    essayez de les séparer avec:
    =SI(ESTERREUR(P264);"/";SI(P264=0;"/";JOUR(P264)&"/"&MOIS(P264)&"/"&ANNEE(P264)))
    avec bien sur des virgules à la, place de point virgule selon votre séparateur de liste
    crdlmnt
    1
    1. Je pense que c'est à cause de tes , il faut les remplacer par des ;
      0
      1. Bonjour,
        On peut proposer un remède sans connaitre la cause du mal: imbriquer 2 SI au lieu d'utiliser un OU.
        =SI(ESTERREUR(P264);"/ ";SI(P2=0;"/ ";JOUR(P264)&"/"&MOIS(P264)&"/"&ANNEE(P264)))
        Une explication serait la bienvenue.
        0
        1. Contributeur
          Salut tontong
          la solution est correcte et la cause du mal est assez facile à identifier:
          en utilisant le code OU, on demande à Excel de traiter simultanément les deux conditions avant de passer à la suivante
          et excel ne sait pas comparer un NA avec une valeur numérique, ici 0
          démonstration: inverse les deux conditions dans notre proposition et tu verras que cela ne fonctionne pas non plus.
          En séparant les deux , on arrête la lecture de la formule dès que la première condition est remplie.
          crtdlmnt
          0
        2. À Vaucluse
          Bien sûr je n'avais pas vu ta réponse avant de poster: les mauvaises habitudes ne se perdent pas facilement!
          Seuls les tâtonnements m'ont conduit à une solution. En fait ce qui m'a le plus perturbé c'est que en cas de NA =OU(ESTERREUR(P264),P264=0) retourne VRAI.
          Merci encore pour l'explication. Je dormirai mieux ce soir ;-)
          0
        3. Contributeur
          j'espère que ça ne t'empêchait pas de dormir:-))), tontong.
          ceci dit, je ne sais pas quel est ton excel, mais le mien renvoie NA si j'écris
          =OU(ESTERREUR(P264);P264=0) comme tu l'as testé et que P264 est NA

          bonne nuit quand même
          0
        4. Je ne sais pas comment va être la nuit mais ce n'est pas mon jour!
          J'avais testé =OU(ESTERREUR(P264);Q264=0) pour voir si le problème venait d'un double test sur une même cellule. Mille excuses présentées pour avoir aggravé mon cas en écrivant une ânerie.
          0
      2. Merci pour votre aide, la formule avec les si séparés marche très bien. :)
        0