[Résolu]1er lundi du mois

Discussions à propos du tableur Calc.
Les questions sur les macros doivent être postées dans la section dédiée en dessous.

Modérateur : Vilains modOOs

Règles du forum
Cette section est uniquement dédiée au tableur Calc. Vous ne devez pas poster ici de questions sur les macros mais utiliser la section éponyme.
phip
HédOOniste
HédOOniste
Messages : 2016
Inscription : 09 juin 2010 18:13

[Résolu]1er lundi du mois

Message par phip »

Bonjour à tous.
par MichelXld » 21 Jan 2006 15:46

Afficher le premier Lundi du mois, pour une date saisie dans la cellule A1
=A1-JOUR(A1)+9-JOURSEM(A1-JOUR(A1))
Pensez à adapter le format de la cellule contenant la formule
lors de l'utilisation de cette formule du forum, j'ai une erreur
si le mois commence un lundi, il ne prend pas le 1er mais le 2eme.
est ce une particularité de ma version ou c'est un dysfonctionnement de la formule.
PremLundiMois-Test.ods
cordialement
Vous ne pouvez pas consulter les pièces jointes insérées à ce message.
Dernière modification par phip le 11 déc. 2013 12:56, modifié 1 fois.
Comment baliser correctement ?
AOO 4.1.4 Win10 Famille 1709
Jeff
GourOOu
GourOOu
Messages : 9629
Inscription : 18 sept. 2006 09:40
Localisation : France

Re: 1er lundi du mois

Message par Jeff »

Bonjour phip,

Préfère la formule donné par Gérard en fil de fil:

Code : Tout sélectionner

=DATE ( ANNEE(A1) ;MOIS(A1) ; 7*1 ) - JOURSEM ( DATE(ANNEE(A1) ;MOIS(A1) ; 7 ) ; 3 )
A +
Vous ne pouvez pas consulter les pièces jointes insérées à ce message.
Avatar de l’utilisateur
alhazred
ManitOOu
ManitOOu
Messages : 3028
Inscription : 30 avr. 2011 23:08
Localisation : Casablanca (Maroc)

Re: 1er lundi du mois

Message par alhazred »

Bonjour,

Essaie

Code : Tout sélectionner

=A1+MOD(7-JOURSEM(A1;3);7)
Le bogue est entre la chaise et le clavier :lol: Réfléchis à ce que renvoie JOURSEM tel que tu l'as utilisé : si le premier jour du mois est un lundi, il ne faut rien ajouter ; c'est le rôle de MOD dans ma formule (on aurait aussi pu utiliser un SI)
 Ajout : On peut même supprimer le premier 7 de ma formule, je n'étais pas sûr du comportement de MOD pour des nombres négatifs 
À bientôt

LibO 4.1.5.3 et AOO 4.0.1 sous Windows 7, MRI et SDK pour les macros.

Et la sauvegarde incrémentée, c'est sympa !
phip
HédOOniste
HédOOniste
Messages : 2016
Inscription : 09 juin 2010 18:13

Re: 1er lundi du mois

Message par phip »

Jeff a écrit :Préfère la formule donné par Gérard
alhazred a écrit :Le bogue est entre la chaise et le clavier
ma question avait pour but de soulever ce problème
car c'est une réponse souvent donnée dans ce forum
cette réponse est fréquemment citée, il y a quelque jour encore.
ne serait il pas préférable de donner une réponse qui fonctionne dans toute circonstances, ou mettre en garde sur la limite d'utilisation.
pour ma part je l'utilise avec une fonction SI.
vos propositions son intéressantes je pourrai répondre correctement maintenant.
merci à vous
cordialement.
Comment baliser correctement ?
AOO 4.1.4 Win10 Famille 1709
Jeff
GourOOu
GourOOu
Messages : 9629
Inscription : 18 sept. 2006 09:40
Localisation : France

Re: 1er lundi du mois

Message par Jeff »

phip a écrit :cette réponse est fréquemment citée, il y a quelque jour encore.
Oui, c'est même moi qui l'ai citée, sans en connaître les limites :oops:

Je demanderai la modif dans le fil d'origine :super:
 Ajout : 
alhazred a écrit :Essaie

Code : Tout sélectionner

=A1+MOD(7-JOURSEM(A1;3);7)
Le premier lundi de la date du 30/12/1899 est lundi 4 décembre 1899, alors que cette formule retourne lundi 1 janvier 1900. 
Avatar de l’utilisateur
alhazred
ManitOOu
ManitOOu
Messages : 3028
Inscription : 30 avr. 2011 23:08
Localisation : Casablanca (Maroc)

Re: [Résolu]1er lundi du mois

Message par alhazred »

Oui, oui, Jeff, mais la colonne A affichait le premier jour du mois.

Dans le cas d'une date quelconque, il faut d'abord se ramener au premier du mois

Code : Tout sélectionner

=A1-JOUR(A1)+1+MOD(-JOURSEM(A1-JOUR(A1)+1;3);7)
À bientôt

LibO 4.1.5.3 et AOO 4.0.1 sous Windows 7, MRI et SDK pour les macros.

Et la sauvegarde incrémentée, c'est sympa !