Problème #VALEURS! avec fonction SI

Résolu
IcarusGW Messages postés 8 Date d'inscription   Statut Membre Dernière intervention   -  
via55 Messages postés 14393 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour,

Je souhaiterais faire évoluer la formule suivante (qui fonctionne):

=SI(ESTERREUR(DATEDIF(AUJOURDHUI();[@[Date de péremption]];"d"));"";DATEDIF(AUJOURDHUI();[@[Date de péremption]];"d"))

Pour l'instant, elle se contente de donner le nombre de jour restant entre une date de péremption et la date du jour, mais aussi de ne pas afficher les erreurs lorsque DATEDIF ne sait pas faire son calcul, ou lorsque aucunes dates de péremption n'est renseignées dans mon tableau.

Lorsqu'une date de péremption est dépassé, elle devient inférieure à la date du jour, et d'après ma formule initiale, rien ne s'affiche.

Je souhaiterais tout simplement afficher un "0" mais uniquement pour les lignes où les dates de péremption sont renseignées.

J'ai tenté ceci :

=SI(ESTERREUR(DATEDIF(AUJOURDHUI();[@[Date de péremption]];"d"));"";DATEDIF(AUJOURDHUI();[@[Date de péremption]];"d"));SI(DATEVAL(AUJOUDHUI())>DATEVAL([@[Date de péremption]]);0;DATEDIF(AUJOURDHUI();[@[Date de péremption]];"d"))

Mais j'obtiens #VALEUR!

Un petit coup de main ne serait pas de refus !

Merci.

4 réponses

  1. via55 Messages postés 14393 Date d'inscription   Statut Membre Dernière intervention   2 759
     
    Re

    La syntaxe est simple :

    =SIERREUR(la condition à tester et qui sera renvoyée si vrai; ce qu'il faut renvoyer en cas d'erreur)

    ex : =SIERREUR(A1>3;"")

    Cdlmnt
    Via
    1
  2. via55 Messages postés 14393 Date d'inscription   Statut Membre Dernière intervention   2 759
     
    Bonjour

    Essaie :
    =SI([@[Date de péremption]]="";""; SI(ESTERREUR(DATEDIF(AUJOURDHUI();[@[Date de péremption]];"d"));0;DATEDIF(AUJOURDHUI();[@[Date de péremption]];"d")))

    De plus si tu as une version Excel 2007 ou postérieure tu peux avantageusement utiliser SIERREUR au lieu de SI(ESTERREUR ...
    =SI([@[Date de péremption]]="";""; SIERREUR(DATEDIF(AUJOURDHUI();[@[Date de péremption]];"d");0))

    Cdlmnt
    Via
    0
  3. michel_m Messages postés 18903 Date d'inscription   Statut Contributeur Dernière intervention   3 320
     
    Bonjour à tous

    pour calculer un nombre de jour:

    nbre_jours=date_fin-date_debut

    DATEDIF est à utiliser sur des différence d'années de mois ou par ex année,mois,jour
    0
  4. IcarusGW Messages postés 8 Date d'inscription   Statut Membre Dernière intervention  
     
    Merci beaucoup, cela fonctionne.

    Du coup pourrais tu me remplacer la formule

    =SI(ESTERREUR(SI([@[Jours restants]]<2;0;1));"";SI([@[Jours restants]]<2;0;1))

    en SIERREUR, s'il te plais, histoire que j’essaie de comprendre la syntaxe.

    Merci.
    0
    1. IcarusGW Messages postés 8 Date d'inscription   Statut Membre Dernière intervention  
       
      Je pense avoir trouvé.

      =SI([@[Jours restants]]="";"";SI([@[Jours restants]]<2;0;1))

      Il suffit de penser différemment (plus simple d'ailleurs).

      Merci de m'avoir dérouillé !
      0