[Résolu] Renvoyer dates début et fin à partir de n° semaine

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] Renvoyer dates début et fin à partir de n° semaine

Messagepar loic19 » 21 Nov 2009 16:20

Bonjour,

J'ai charché dans le forum dans la partie programmation et tableur mais je n'ai pas trouvé la solution à mon problème.
toutes les fonctions sur les dates sont l'inverse du résultat que je recherche.
je recherche une fonction qui retourne une date de début (lundi) et date de fin (dimanche) avec en entrées le numéro de semaine et l'année.
je vous remercie pour votre aide.

Loic
Dernière édition par Oukcha le 24 Nov 2009 07:18, édité 1 fois.
Raison: Balisage
OpenOfficeOrg 3.1.1 WINDOWS VISTA
loic19
Fraîchement OOthentifié
 
Message(s) : 9
Inscrit le : 18 Oct 2009 15:18

Re: fonction renvoyant dates début et fin à partir d'une semaine

Messagepar rjamin » 22 Nov 2009 09:33

Bonjour,

Si en B3 on tape le n° de semaine
En D3 je tape
Code : Tout sélectionner   AgrandirRéduire
=DATEVAL("29/12/2008")+(B3-1)*7
j'aurai en mettant D3 au format date/heure la date du lundi de la semaine en question
si en E3 je tape
Code : Tout sélectionner   AgrandirRéduire
=DATEVAL("29/12/2008")+(B3-1)*7+6
j'aurai en E3 la date du dimanche de la semaine en question

A savoir que le 29/12/2008 est la date du dernier lundi qui précède le 1 janvier 2009
J'ai testé ça fonctionne.

RJ
OpenOffice 3.1 sous Windows Vista premium
rjamin
NOOuvel adepte
NOOuvel adepte
 
Message(s) : 10
Inscrit le : 01 Nov 2009 10:35

Re: fonction renvoyant dates début et fin à partir d'une semaine

Messagepar gerard24 » 22 Nov 2009 09:59

Bonjour,

La formule de rjamin fonctionne pour l'année 2009 (qui touche à sa fin :wink: )

Voici une formule "perpétuelle".

A1 contenant le numéro de semaine,
B1 contenant l'année.
Code : Tout sélectionner   AgrandirRéduire
=DATE($B1;1;3)-JOURSEM(DATE($B1;1;3))-5+7*$A1

Cette formule renvoie le Lundi de la semaine quelque soit l'année et en respectant la norme ISO 8601 à savoir que,
lorsque qu'une semaine est à cheval sur 2 années elle compte pour l'année où elle a le plus de jours.

A+
OOodidacte
LibreOffice 6.2.4 sous Windows 10.
pour télécharger LibreOffice
Avatar de l’utilisateur
gerard24
ManitOOu
ManitOOu
 
Message(s) : 3122
Inscrit le : 06 Juil 2008 18:08
Localisation : dans le Périgord

Re: fonction renvoyant dates début et fin à partir d'une semaine

Messagepar rjamin » 22 Nov 2009 10:55

Re,

Une question à gerard24 pourquoi

Date(B1;1;3) et pas Date(B1;1;1) ?

Cordialement

RJ
OpenOffice 3.1 sous Windows Vista premium
rjamin
NOOuvel adepte
NOOuvel adepte
 
Message(s) : 10
Inscrit le : 01 Nov 2009 10:35

Re: fonction renvoyant dates début et fin à partir d'une semaine

Messagepar gerard24 » 22 Nov 2009 11:09

A cause de la norme ISO que je cite + haut.
Avec cette norme le 4 janvier est toujours dans la première semaine de l'année. En partant du jour précédent ce 4 janvier, donc le 3
=DATE($B1;1;3)-JOURSEM(DATE($B1;1;3))-5 nous donne alors le dernier lundi de l'année précédente. Je pars du 3 à cause de l'utilisation de JOURSEM sans le deuxième argument.

Si j'utilisais DATE(B1;1;1) j'obtiendrais le numéro de semaine "à l'américaine", numéro renvoyé par NO.SEMAINE_ADD.

D'ailleurs pour respecter pleinement la norme, la logique voudrait que j'utilise =DATE($B1;1;4)-JOURSEM(DATE($B1;1;4);2)-6+7*$A22
DATE($B1;1;4)-JOURSEM(DATE($B1;1;4);2) donnant le dernier jour de la dernière semaine de l'année précédente.

A+
Dernière édition par gerard24 le 22 Nov 2009 15:00, édité 1 fois.
OOodidacte
LibreOffice 6.2.4 sous Windows 10.
pour télécharger LibreOffice
Avatar de l’utilisateur
gerard24
ManitOOu
ManitOOu
 
Message(s) : 3122
Inscrit le : 06 Juil 2008 18:08
Localisation : dans le Périgord

Re: fonction renvoyant dates début et fin à partir d'une semaine

Messagepar rjamin » 22 Nov 2009 13:10

RE,

Merci à gerard24 pour les explications et précisions. Je suis convaincu que cela pourra éclairer d'autres personnes sur la gestion des semaines et des dates aussi bien dans Calc que dans Excel.

Merci encore et bon dimanche après midi.

Mes excuses à loic19 pour l'envahissement de son sujet avec mes questions.

RJ
OpenOffice 3.1 sous Windows Vista premium
rjamin
NOOuvel adepte
NOOuvel adepte
 
Message(s) : 10
Inscrit le : 01 Nov 2009 10:35

Re: fonction renvoyant dates début et fin à partir d'une semaine

Messagepar loic19 » 23 Nov 2009 21:53

merci à vous pour ces remarques très intéressantes et à Gérard 24 pour sa formule perpétuelle et très courte.
j'avais trouvé une autre formule également suite à l'idée de rjamin :
on recherche le premier jour du mois
A1=DATE(ANNEE(AUJOURDHUI());1;1)
on teste le jour (lundi, mardi etc ...)
A2 =JOURSEM(A1;2) 'on utilise 2 pour que lundi soit égal à 1
puis par une formule de "si" on retranche pour obtenir le lundi qui précède le premier jour de l'année :
=SI(A2=2;A1-1;SI(A2=3;A1-2;SI(A2=4;A1-3;SI(A2=5;A1-4;SI(A2=6;A1-5;SI(A2=7;A1-6;1))))))
enfin quand on connait le dernier lundi de l'année précédente (ou le lundi 1er janvier dans un cas bien particulier)
on rajoute à cette date 7 * nb_semaine et on obtient alors le lundi de la semaine choisie.
mais c'est bien compliqué par rapport à la formule de Gérard24.
alors encore merci
Loic19
OpenOfficeOrg 3.1.1 WINDOWS VISTA
loic19
Fraîchement OOthentifié
 
Message(s) : 9
Inscrit le : 18 Oct 2009 15:18

Re: [Résolu] Renvoyer dates début et fin à partir de n° sema

Messagepar gdurieux » 05 Déc 2010 15:13

Bonjour a tous,

Y a t'il un moyen d'adapter cette fonction de calc vers base.
En effet j'ai dans ma base de données un formulaire qui affiche le numéro de la semaine et je souhaiterais qu'au lieu de ce numéro il affiche plutot la date de début et de fin de la semaine en question.
Je ne vois pas comment adapter cette fonction vu qu'elle contient une réference de cellule que je n'aurais pas sous base...

Si quelqu'un à une idée ??

Merci d'avance

Guillaume durieux
Guillaume Durieux

librO 5.4.5.1 sur windows 10
Avatar de l’utilisateur
gdurieux
Membre hOOnoraire
Membre hOOnoraire
 
Message(s) : 167
Inscrit le : 14 Fév 2007 20:27

Re: [Résolu] Renvoyer dates début et fin à partir de n° sema

Messagepar Don Corleone » 05 Déc 2010 15:21

Nous nous devons de verrouiller ce fil de discussion. Nous vous rappelons les règles de ce forum et notamment la n° 7
Un sujet = le problème d'une seule personne

Comme vous avez pu le lire, ce sujet est désormais résolu. Si vous avez également ce problème, c'est que ce dernier est différent. Votre configuration n'est peut être pas la même que celle de l'auteur de ce fil.

Dans ce cas et pour des raisons de lisibilité sur ce forum, nous vous demandons de créer une nouvelle question en rappelant que vous avez le même problème que dans ce fil.

Merci de votre collaboration.
Votre question a trouvé sa solution ?
Balisez votre fil [Résolu] ou [Issue] dans le titre de votre 1er message.

Tout sur le fonctionnement du forum
Avatar de l’utilisateur
Don Corleone
MOOdérateur
MOOdérateur
 
Message(s) : 618
Inscrit le : 20 Avr 2010 15:48


Retour vers Tableur

Qui est en ligne ?

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