Déclenchement périodique

Résolu
touroul Messages postés 520 Date d'inscription   Statut Membre Dernière intervention   -  
touroul Messages postés 520 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour le forum !

Je sèche sur une formule, pas moyen de trouver malgré différents essais.
Je cherche à déclencher un "oui" dans une cellule, selon la condition suivante :
Tous les 4 ans de façon périodique, 1 mois avant.

Un fichier d'exemple : https://www.cjoint.com/c/JJCuURbjUMq
Voyez, le résultat avec MOD est bon, mais pas systématiquement.

Merci par avance, si vous avez une idée !
Bonne soirée

Configuration: Windows / Firefox 81.0

8 réponses

  1. JCB40 Messages postés 3063 Date d'inscription   Statut Membre Dernière intervention   479
     
    Bonsoir
    Tu remarqueras sur la ligne que tu as marquée anormale qu'il y a un écart de 3 jours entre tes 2 dates ,d’où le non .Du 14 au 17
    Crdlt
    1
  2. Raymond PENTIER Messages postés 58219 Date d'inscription   Statut Contributeur Dernière intervention   17 485
     
    Bonjour.

    Oui, touroul, j'ai une idée :
    =SI((B2-A2)/365*12<48;"Oui";"Non")
    1
  3. PapyLuc51 Messages postés 4569 Date d'inscription   Statut Membre Dernière intervention   1 512
     
    Bonjour à tous

    Et pourquoi ne pas inclure directement AUJOURDHUI() dans la formule ; ce qui rend évidemment obsolète la colonne B qui, soit dit en passant, ne correspond pas à la date du jour pour B4 et B5.

    Avec la formule corrigée miracle le oui est bien là en D5

    =SI(MOD(DATEDIF(A2;AUJOURDHUI();"m")+1;24)=0;"oui";"non")

    Par contre cette formule mentionne également le "non" lorsque le délai de 4 ans est dépassé. Est-ce bien ce qui est voulu ?

    Cordialement
    1
  4. michel_m Messages postés 18903 Date d'inscription   Statut Contributeur Dernière intervention   3 320
     
    Bonjour à tous

    A essayer
    =SI(MOIS(MOIS.DECALER(AUJOURDHUI();-47))>=MOIS(A6);"oui";"non")

    pas sûr de moi !!! :-/

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

    Posez votre question
  6. PapyLuc51 Messages postés 4569 Date d'inscription   Statut Membre Dernière intervention   1 512
     
    Re:

    Personnellement j'étais parti sur une autre formule basée sur MOIS.DECALER()

    =SI(A2<>"";SI(ET(AUJOURDHUI()>=MOIS.DECALER(A2;47);AUJOURDHUI()<=MOIS.DECALER(A2;48));"oui";"non");"")

    qui marque "oui" pendant le mois 48 et "non" le reste du temps

    sinon faire ressortir un autre texte pour le dépassement du délais de 4 ans (par exemple "4 ans dépassés")

    =SI(A2<>"";SI(AUJOURDHUI()>MOIS.DECALER(A2;48);"4 ans dépassés";SI(ET(AUJOURDHUI()>=MOIS.DECALER(A2;47);AUJOURDHUI()<=MOIS.DECALER(A2;48));"oui";"non"));"")

    Cordialement
    1
  7. touroul Messages postés 520 Date d'inscription   Statut Membre Dernière intervention   16
     
    Bonjour JCB, Monsieur Pentier, PapyLuc

    Tout d'abord merci d'avoir prêté votre matière grise. Je réponds à tous, dans l'ordre des messages :

    @ JCB : en effet : l'exemple choisi ne l'était pas au hasard : la formule doit pouvoir fonctionner aussi si le délai entre 2 dates est supérieur à 1 mois ...

    @ Monsieur Pentier : c'était bien parti, mais en faisant différents essais je suis tombé sur une plage de dates donnant un résultat inexact, sans que je comprenne pourquoi (1 mois trop tôt)
    Voici le fichier complété et annoté : https://www.cjoint.com/c/JJDiaVFE7Nq
    De plus, il y a le problème des années bissextiles : j'ai mis 365,25 jours, mais ce n'est pas rigoureux.

    @PapyLuc : j'avais aussi essayé avec AUJOURDHUI(), mais là aussi dans un certain nombre de cas le résultat est inexact.

    Qu'en pensez-vous ?

    Encore merci pour votre aide appréciable. A plus.
    0
  8. touroul Messages postés 520 Date d'inscription   Statut Membre Dernière intervention   16
     
    Merci pour vos réponses.

    Malheureusement en dépit du bon sens de vos réponses, aucune formule ne fonctionne dans tous les cas.
    J'ai simplifié le tableau et ajouté toutes les propositions en colonnes :
    https://www.cjoint.com/c/JJDkca2PYDq

    @Michel : ça coince dans les 3 derniers cas, mais tu es parti sur une toute autre idée, peut-être à creuser ...

    @ PapyLuc : il ne doit pas manquer grand chose, mais il y a 2 erreurs : dans ta formule, j'ai juste supprimé le
    SI(A2<>""
    pour clarifier la formule, et remplacé le AUJOURDHUI() par la date de la colonne Date du jour.

    Puis-je vous demander de poursuivre ? On ne doit pas être bien loin de l'objectif !
    Merci !
    0
  9. touroul Messages postés 520 Date d'inscription   Statut Membre Dernière intervention   16
     
    Salut à tous

    Je pense avoir trouvé.
    Voici ma formule :
    =SI(ARRONDI(DATEDIF(B3;C3;"M")/12;0)=4;SI((SI(MOIS(B3)=1;12;MOIS(B3)-1))=(SI(MOIS(C3)=1;12;MOIS(C3)));"oui";"non");"non")


    En décodé :

    SI(ARRONDI(DATEDIF(B3;C3;"M")/12;0)=4
    : je vérifie que je suis bien 4 ans après, à l'arrondi près.

    SI((SI(MOIS(B3)=1;12;MOIS(B3)-1))=(SI(MOIS(C3)=1;12;MOIS(C3)))
    : je vérifie que mon mois actuel (en C3) moins un (1) = mois de la cellule en B3.

    Ouf ... c'est capillotracté mais ça le fait !

    Merci à tous
    0