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. Merci pour votre aide, la formule avec les si séparés marche très bien. :)
    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. 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