| |
Membre enregistré 176 messages |
|
Posté le 08 janvier 2025 - 18:02 |
Bonjour à tous, Je voudrais savoir comment récupérer les numéros de semaines pour un mois donnée. Exemple : Mois de Février 6/7/8/9 et non pas 5/6/7/8/9 Merci d'avance.
-- Stéphane. |
| |
| |
| | | |
|
| | |
| |
Membre enregistré 20 messages |
|
Posté le 09 janvier 2025 - 09:43 |
Bonjour,
Il existe deux fonctions pour ça DateVersNumeroDeSemaine() et NuméroDeSemaine() pour utiliser la norme ISO 8601. La semaine commence un lundi par défaut donc sur février c'est forcement 6/7/8/9
-- Cdlt |
| |
| |
| | | |
|
| | |
| |
Membre enregistré 51 messages |
|
Posté le 09 janvier 2025 - 09:51 |
Bonjour Stéphane, bonjour à tous,
Le premier jour de février est dans la semaine n°5. Le dernier jour de février est dans la semaine n°9.
Si tu souhaites avoir les numéro de semaine du premier mercredi du mois de février, il faut calculer cette date. Tu auras alors le n° de semaine conforme à cette règle de gestion.
En espérant avoir un peu aidé.
Stéphane D. a écrit :
Bonjour à tous, Je voudrais savoir comment récupérer les numéros de semaines pour un mois donnée. Exemple : Mois de Février 6/7/8/9 et non pas 5/6/7/8/9 Merci d'avance.
-- Stéphane. |
| |
| |
| | | |
|
| | |
| |
Membre enregistré 176 messages |
|
Posté le 09 janvier 2025 - 11:50 |
Bonjour et merci de vos réponse. SC ( COSOGES ) et fpy : On pourrais retrouver le premier Lundi du mois mais le problème reste sur le mois de Avril qui est le 7/04 et donc je perds la semaine 14.
Je vous explique un peu plus ma demande. J'ai une combo avec les mois de l'année renseigné. Quand l'utilisateur sélectionne un mois dans cette combo, je voudrais récupérer les numéros de semaines afin de faire une requête pour récupérer les éléments dans ma bdd suivant les numéros de semaines renvoyés. Exemple : Février : 6/7/8/9 Avril : 14/15/16/17/18
Et encore merci pour votre aide à tous.
-- Stéphane. |
| |
| |
| | | |
|
| | |
| |
Membre enregistré 20 messages |
|
Posté le 09 janvier 2025 - 12:19 |
Salut,
Pour la dernière semaine du mois tu calcule le nombre de jours restant jusqu'à la fin du mois, et s'il est inférieur à n tu ne le prend pas dans ton résultat mais le reporte sur le mois d'après. Tu peux utiliser pour ça : SemaineVersDate() qui renvoie la date du lundi de la semaine passée en paramètre. Espérant que ça t'aide un peu.
-- Cdlt |
| |
| |
| | | |
|
| | |
| |
Membre enregistré 2 134 messages |
|
Posté le 09 janvier 2025 - 13:42 |
Bonjour,
Voir aussi PremierJourDuMois() et DernierJourDuMois().
-- Bon dev, Jean-Pierre |
| |
| |
| | | |
|
| | |
| |
Membre enregistré 886 messages |
|
Posté le 09 janvier 2025 - 13:58 |
Bonjour,
Une petite procédure globale simple parmis tant d'autres possibles :
- Passer le mois et l'année en paramètre - Séparateur des Num semaines en sortie pris en exemple avec <TAB>
Procedure PG_RenvoiNumSemaines(nLemois est un entier,nLannee est un entier)
dDateDebut est une Date dDAtefin est une Date nbjour est un entier sLesNumSemaines est une chaîne CleSemaine est une chaîne
dDateDebut..Année = nLannee ; dDateDebut..Mois = nLemois; dDateDebut..Jour = 1
dDAtefin = DernierJourDuMois(dDateDebut)
nbjour = dDAtefin..Jour
CleSemaine = DateVersNuméroDeSemaine(dDateDebut) sLesNumSemaines = CleSemaine
BOUCLE(nbjour) SI CleSemaine <> DateVersNuméroDeSemaine(dDateDebut) ALORS CleSemaine = DateVersNuméroDeSemaine(dDateDebut) sLesNumSemaines = sLesNumSemaines + TAB + CleSemaine FIN dDateDebut..Jour++ FIN
Bonne découverte, test, et/ou utilisation ... Christian |
| |
| |
| | | |
|
| | |
| |
Membre enregistré 176 messages |
|
Posté le 09 janvier 2025 - 15:20 |
Re- Et encore merci à tous. En vu des difficultés rencontrés, je vais mettre en bdd les éléments Janvier=1/2/3/4/5 Février=6/7/8/9 ... Pour info Christian, lorsque j'utilise ta procédure, si je prends le mois de Février il me renvoi 5/6/7/8/9 et non 6/7/8/9 J'avais fais un peu près la même chose mais codé différemment. En regardant le calendrier de 2025 vous pouvez voir les numéros de semaines des mois en cours.
Mais si vous avez encore un peu de temps et d'idée.
Encore merci pour votre aide.
-- Stéphane. |
| |
| |
| | | |
|
| | |
| |
Membre enregistré 886 messages |
|
Posté le 09 janvier 2025 - 15:39 |
Le 1er février, soit le samedi fait partie de la semaine 5 ! Si il faut démarrer au jour JJJJJJJJ ( lundi, mardi etc ... ) pas bien compliqué de démarrer avec ce premier jour concerné. Sans passer par un bdd ...Message modifié, 09 janvier 2025 - 15:45 |
| |
| |
| | | |
|
| | |