Problème #VALEURS! avec fonction SI

Résolu/Fermé
IcarusGW Messages postés 8 Date d'inscription vendredi 25 septembre 2015 Statut Membre Dernière intervention 15 octobre 2017 - 31 déc. 2015 à 15:35
via55 Messages postés 14477 Date d'inscription mercredi 16 janvier 2013 Statut Membre Dernière intervention 3 octobre 2024 - 31 déc. 2015 à 16:45
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

via55 Messages postés 14477 Date d'inscription mercredi 16 janvier 2013 Statut Membre Dernière intervention 3 octobre 2024 2 729
31 déc. 2015 à 16:45
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
via55 Messages postés 14477 Date d'inscription mercredi 16 janvier 2013 Statut Membre Dernière intervention 3 octobre 2024 2 729
31 déc. 2015 à 16:05
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
michel_m Messages postés 16603 Date d'inscription lundi 12 septembre 2005 Statut Contributeur Dernière intervention 16 décembre 2023 3 306
31 déc. 2015 à 16:18
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
IcarusGW Messages postés 8 Date d'inscription vendredi 25 septembre 2015 Statut Membre Dernière intervention 15 octobre 2017
31 déc. 2015 à 16:31
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
IcarusGW Messages postés 8 Date d'inscription vendredi 25 septembre 2015 Statut Membre Dernière intervention 15 octobre 2017
31 déc. 2015 à 16:44
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