Bug fonction "ou" excel

Résolu
sabdani Messages postés 26 Statut Membre -  
sabdani Messages postés 26 Statut Membre -
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. Vaucluse Messages postés 27336 Date d'inscription   Statut Contributeur Dernière intervention   6 453
     
    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
  2. Lentz
     
    Je pense que c'est à cause de tes , il faut les remplacer par des ;
    0
  3. tontong Messages postés 2575 Date d'inscription   Statut Membre Dernière intervention   1 064
     
    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. Vaucluse Messages postés 27336 Date d'inscription   Statut Contributeur Dernière intervention   6 453
       
      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. tontong Messages postés 2575 Date d'inscription   Statut Membre Dernière intervention   1 064
       
      À 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. Vaucluse Messages postés 27336 Date d'inscription   Statut Contributeur Dernière intervention   6 453
       
      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. tontong Messages postés 2575 Date d'inscription   Statut Membre Dernière intervention   1 064
       
      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
  4. sabdani Messages postés 26 Statut Membre 5
     
    Merci pour votre aide, la formule avec les si séparés marche très bien. :)
    0