Déclenchement périodique

Résolu
touroul Messages postés 509 Date d'inscription   Statut Membre Dernière intervention   -  
touroul Messages postés 509 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

JCB40 Messages postés 3013 Date d'inscription   Statut Membre Dernière intervention   463
 
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
Raymond PENTIER Messages postés 58990 Date d'inscription   Statut Contributeur Dernière intervention   17 355
 
Bonjour.

Oui, touroul, j'ai une idée :
=SI((B2-A2)/365*12<48;"Oui";"Non")
1
PapyLuc51 Messages postés 4519 Date d'inscription   Statut Membre Dernière intervention   1 486
 
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
michel_m Messages postés 16602 Date d'inscription   Statut Contributeur Dernière intervention   3 314
 
Bonjour à tous

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

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

1

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

Posez votre question
PapyLuc51 Messages postés 4519 Date d'inscription   Statut Membre Dernière intervention   1 486
 
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
touroul Messages postés 509 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
touroul Messages postés 509 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
touroul Messages postés 509 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