[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.

[Résolu]1er lundi du mois

Messagepar phip » 11 Déc 2013 13:04

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
(20.07 Kio) Téléchargé 101 fois

cordialement
Dernière édition par phip le 11 Déc 2013 13:56, édité 1 fois.
Comment baliser correctement ?
AOO 4.1.4 Win10 Famille 1709
phip
HédOOniste
HédOOniste
 
Message(s) : 2016
Inscrit le : 09 Juin 2010 19:13

Re: 1er lundi du mois

Messagepar Jeff » 11 Déc 2013 13:23

Bonjour phip,

Préfère la formule donné par Gérard en fil de fil:
Code : Tout sélectionner   AgrandirRéduire
=DATE ( ANNEE(A1) ;MOIS(A1) ; 7*1 ) - JOURSEM ( DATE(ANNEE(A1) ;MOIS(A1) ; 7 ) ; 3 )


A +
Pièces jointes
phip_PremLundiMois-Test.ods
(17.65 Kio) Téléchargé 107 fois
À lire avant tout !

Pour télécharger Apache OpenOffice

AOO 4.1.6 sur Xubuntu 18.04_i586 et sur Win 10 pro x64
Avatar de l’utilisateur
Jeff
GourOOu
GourOOu
 
Message(s) : 7972
Inscrit le : 18 Sep 2006 10:40
Localisation : France

Re: 1er lundi du mois

Messagepar alhazred » 11 Déc 2013 13:27

Bonjour,

Essaie
Code : Tout sélectionner   AgrandirRéduire
=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 !
Avatar de l’utilisateur
alhazred
ManitOOu
ManitOOu
 
Message(s) : 3028
Inscrit le : 01 Mai 2011 00:08
Localisation : Casablanca (Maroc)

Re: 1er lundi du mois

Messagepar phip » 11 Déc 2013 13:41

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
phip
HédOOniste
HédOOniste
 
Message(s) : 2016
Inscrit le : 09 Juin 2010 19:13

Re: 1er lundi du mois

Messagepar Jeff » 11 Déc 2013 13:52

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   AgrandirRéduire
=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. 
À lire avant tout !

Pour télécharger Apache OpenOffice

AOO 4.1.6 sur Xubuntu 18.04_i586 et sur Win 10 pro x64
Avatar de l’utilisateur
Jeff
GourOOu
GourOOu
 
Message(s) : 7972
Inscrit le : 18 Sep 2006 10:40
Localisation : France

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

Messagepar alhazred » 11 Déc 2013 16:03

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   AgrandirRéduire
=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 !
Avatar de l’utilisateur
alhazred
ManitOOu
ManitOOu
 
Message(s) : 3028
Inscrit le : 01 Mai 2011 00:08
Localisation : Casablanca (Maroc)


Retour vers Tableur

Qui est en ligne ?

Utilisateur(s) parcourant ce forum : Aucun utilisateur inscrit et 14 invité(s)