Date fixe 1er, 10 et 20 du mois

M

Mireille

Guest
Bonjour,

Pourriez-vous m'aider pour editer que s'affiche dans le document excel des jours fixes en fonction de la date du jour.

Exemple nous sommes le 24 novembre, dans le fichier excel doit s'afficher 1er décembre 2004.

Si nous sommes entre le 1er et le 10 s'affiche 10/mois/année

Si nous sommes entre le 10 et le 20 du mois s'affiche 20/mois/année

Si nous sommes entre le 20 et 30 du mois s'affiche 1er/mois+1/année

Et ce quelque soit le jour de traitement du fichier excel.

Je ne trouve pas quelle formule appliquer.

Merci pour votre aide.
 
J

jmps

Guest
Bonjour Mireille,

Une "petite" formule qui devrait te convenir.

=DATE(ANNEE(AUJOURDHUI());MOIS(AUJOURDHUI())+ET(JOUR(AUJOURDHUI())>=21;JOUR(AUJOURDHUI())<=31);10*(ET(JOUR(AUJOURDHUI())>=1;JOUR(AUJOURDHUI())<=10))+20*(ET(JOUR(AUJOURDHUI())>=11;JOUR(AUJOURDHUI())<=20))+(ET(JOUR(AUJOURDHUI())>=21;JOUR(AUJOURDHUI())<=31)))

Applique le format de date qui te convient à ta cellule.

J'espère que ça te convient. Fais quand même des tests surtout pour les dates en fin d'année.

Bon appétit.

José
 
S

sousou

Guest
Bonjour

Cette formule pourrait te convenir à vérifier les bornes.
Ne pas oublier de préciser le format de la cellue (date)

=SI(JOUR(B4)<10;DATE(ANNEE(B4);MOIS(B4);10);SI(ET(JOUR(B4)<20;JOUR(B4)>10);DATE(ANNEE(B4);MOIS(B4);20);DATE(ANNEE(B4);MOIS(B4)+1;1)))


Bon courage
 
A

andré

Guest
Salut,

Petite variante par la fonction ARRONDI.SUP() :

=SI(JOUR(AUJOURDHUI())<20;DATE(ANNEE(AUJOURDHUI());MOIS(AUJOURDHUI());ARRONDI.SUP(JOUR(AUJOURDHUI());-1));DATE(ANNEE(AUJOURDHUI());MOIS(AUJOURDHUI())+1;1))

Petit problème restant (question non posée) : au 21.12.04 ne faut-il pas indiquer 01.01.05

Ândré
 
M

Mireille

Guest
Merci pour votre c'est très sympa.

Vous m'avez bien aidé j'ai pu terminer mon fichier.

Merci encore.

A bientot j'aurai surement besoin encore de vous tous et je suis une fervente lectrice de ce forum.

A+
 
J

Jean-Marie

Guest
Bonsoir tout le monde

Il est possible diminué la longueur de la formule sur la partie jour avec
MOD(PLAFOND(JOUR(AUJOURDHUI());10);29)

=DATE(ANNEE(AUJOURDHUI());MOIS(AUJOURDHUI())+(JOUR(AUJOURDHUI())>20);MOD(PLAFOND(JOUR(AUJOURDHUI());10);29))

@+Jean-Marie
 
J

Jean-Marie

Guest
Bonjour

Ma réponse n'est pas exacte, dans un cas le 31 de chaque mois, la valeur retournée sera le 11.
MOD(PLAFOND(MIN(30;JOUR(AUJOURDHUI()));10);29)


=DATE(ANNEE(AUJOURDHUI());MOIS(AUJOURDHUI())+(JOUR(AUJOURDHUI())>20);MOD(PLAFOND(MIN(30;JOUR(AUJOURDHUI()));10);29))

@+Jean-Marie
 
A

andré

Guest
Resalut,

Voici une petite variante qui permet de passer d'une année à l'autre :

=SI(JOUR(AUJOURDHUI())<20;DATE(ANNEE(AUJOURDHUI());MOIS(AUJOURDHUI());ARRONDI.SUP(JOUR(AUJOURDHUI());-1));FIN.MOIS(AUJOURDHUI();0)+1)

Il y a toujours une précision attendue :

Si nous sommes entre le 1er et le 10 s'affiche 10/mois/année
Si nous sommes entre le 10 et le 20 du mois s'affiche 20/mois/année
Si nous sommes entre le 20 et 30 du mois s'affiche 1er/mois+1/année

Que se passe-t-il le 10, le 20 et le 31 de chaque mois (entre ?)

Ândré.
 
M

Mireille

Guest
Bonjour,

Merci encore pour votre aide, mais puis-je encore vous solliciter.

En effet, quelques précisions :

entre le 2 et le 10 inclus, il doit s'afficher 10/mois/année,
entre le 11 et le 20 inclus, il doit s'afficher 20/mois/année,
entre le 21 et le 30 ou 31, il doit s'afficher 1er/mois/année.

De plus, pour le passage d'une année sur l'autre, (2004 à 2005), à partir du 21 au 31/12/2004 il doit s'afficher 1/01/2005.

Merci par avance pour votre aide.

Mireille
 
M

Monique

Guest
Bonjour,

Dans le fichier joint, tu as 2 formules des messages précédents.
A mon avis, elles fonctionnent.
Tu as une barre de défilement pour ajouter des jours à "Aujourd'hui" pour vérifier.
 

Pièces jointes

  • DateFixeMireille.zip
    2.1 KB · Affichages: 34
J

Jean-Marie

Guest
Bonjour tout le monde

Pas de problème pour le passage sur l'année suivante sur les trois formules.

Il faut faire une petite corrections sur la formule d'André ce n'est pas
=SI(JOUR(AUJOURDHUI())<20;DATE(ANNEE(AUJOURDHUI());MOIS(AUJOURDHUI());ARRONDI.SUP(JOUR(AUJOURDHUI());-1));FIN.MOIS(AUJOURDHUI();0)+1)
mais
=SI(JOUR(AUJOURDHUI())<21;DATE(ANNEE(AUJOURDHUI());MOIS(AUJOURDHUI());ARRONDI.SUP(JOUR(AUJOURDHUI());-1));FIN.MOIS(AUJOURDHUI();0)+1)

@+Jean-Marie
 

Discussions similaires

  • Résolu(e)
Microsoft 365 Formule SI
Réponses
4
Affichages
207
Réponses
10
Affichages
309

Statistiques des forums

Discussions
312 750
Messages
2 091 653
Membres
105 015
dernier inscrit
Jeromelemaire