Besoin d'aide formule datedif et si

Fermé
helenevtt - Modifié le 7 juin 2022 à 16:59
PapyLuc51 Messages postés 4409 Date d'inscription dimanche 3 mai 2009 Statut Membre Dernière intervention 25 novembre 2024 - 8 juin 2022 à 05:27
Bonjour,
Je fais appel à vous car malgré plusieures tentatives je n’arrive pas à trouver la solution…
J’ai un tableau comme ceci :

A1(Date d’entrée) B1 (Date de mise en veille) C1 (Date de sortie) Les 3 ne sont pas forcément remplis.

En D1 j’aimerais avoir la différence en mois entre soit :

la date d’entrée et la date de sortie,
la date d’entrée et la date de mise en veille
la date d’entrée et la date du jour.

J’arrive à avoir les 2 premières mais pour la 3ème excel me met une erreur.

Si quelqu’un a une formule magique ???
Je vous en serais tres reconnaissante.

Merci à celles et ceux qui prendront le temps de me répondre.
A voir également:

6 réponses

Raymond PENTIER Messages postés 58731 Date d'inscription lundi 13 août 2007 Statut Contributeur Dernière intervention 23 novembre 2024 17 244
7 juin 2022 à 17:11
Bonjour.

Comme on n'a ni ton fichier Excel, ni même les formules que tu essaies, il nous est impossible de te répondre !
0
via55 Messages postés 14498 Date d'inscription mercredi 16 janvier 2013 Statut Membre Dernière intervention 25 novembre 2024 2 735
7 juin 2022 à 17:44
Bonjour

Pour compléter mon ami Raymond que je salue au passage, fournis un exemple de ton fichier avec la formule utilisée qui occasionne l'erreur en le postant sur cjoint.com, en faisant créer un lien que tu copies et reviens coller ici dans ton prochain message

Cdlmnt
Via
0
PapyLuc51 Messages postés 4409 Date d'inscription dimanche 3 mai 2009 Statut Membre Dernière intervention 25 novembre 2024 1 445
Modifié le 7 juin 2022 à 18:19
Salutations!

Une tentative avec ce que j'ai compris.

La formule tient compte de la présence ou non d'une date en B1 lorsque C1 en comporte une

=SI(A1<>"";SI(ET(B1<>"";C1="");DATEDIF(A1;B1;"m");SI(ET(OU(B1<>"";B1="");C1<>"");DATEDIF(A1;C1;"m");DATEDIF(A1;AUJOURDHUI();"m")));"")


Cordialement
0
Voici la formule que j'ai essayé
=SI([@[Date de sortie]]="";DATEDIF([@[Date d''entrée]];[@[Date de mise en veille]];"m")+[@[Date de mise en veille]];DATEDIF([@[Date d''entrée]];[@[Date de sortie]];"m")+OU(DATEDIF([@[Date d''entrée]];AF1;"m")))

AF1 étant une cellule avec la date du jour

Je voudrais que la formule prenne en compte

Soit j'ai une date de sortie et je veux la différence en mois entre la date d'entrée et la date de sortie

Soit je n'ai pas de date de sortie mais une date de mise en veille, dans ce cas je veux la différence en mois entre la date d'entrée et la date de mise en veille

Soit je n'ai ni la date de sortie ni de mise en veille et dans ce cas il me faut la différence en mois entre la date d'entrée et la date du jour

J'ai le cerveau en Compote....
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Raymond PENTIER Messages postés 58731 Date d'inscription lundi 13 août 2007 Statut Contributeur Dernière intervention 23 novembre 2024 17 244
8 juin 2022 à 01:04


Hélène, quelques informations, s'il te plait :
  • 1) Que signifient les deux opérateurs
    +
    dans ta formule ?
  • 2) Et à quoi sert la fonction
    OU
    en fin de formule ?
  • 3) Enfin que faut-il afficher comme résultat lorsqu'il y a une date de sortie mais pas de date de mise en veille ?

De ce que j'ai cru comprendre, la formule en D1 serait :
=SI(C1="";SI(B1="";DATEDIF(A1;AF1;"m");DATEDIF(A1;B1;"m"));DATEDIF(A1;C1;"m"))
0
PapyLuc51 Messages postés 4409 Date d'inscription dimanche 3 mai 2009 Statut Membre Dernière intervention 25 novembre 2024 1 445
8 juin 2022 à 05:27
Bonjour,

Des erreurs de syntaxe dans cette formule.
La voici remaniée avec ajout d'une condition, celle de la date d'entrée obligatoirement présente pour laisser le résultat vide s'il n'y aucune date visible mais qui en réalité est la date 0 d'Excel :

=SI([@[Date d''entrée]]<>"";SI([@[Date de mise en veille]]<>"";DATEDIF([@[Date d''entrée]];[@[Date de mise en veille]];"m");SI([@[date de sortie]]<>"";DATEDIF([@[Date d''entrée]];[@[date de sortie]];"m");DATEDIF([@[Date d''entrée]];$AF$1;"m")));"")

avec AF1 bloquée par $ si la formule doit s'incrémenter sinon mettre AUJOURDHUI() à la place.

cordialement
0