A voir également:
- Pb n° semaine (date) access
- Publipostage date inversée ✓ - Forum Word
- Access runtime ✓ - Forum Access
- Jm date désabonnement ✓ - Forum Consommation & Internet
- Jm date avis - Forum Consommation & Internet
- Trouver une date de naissance gratuit - Forum Webmastering
7 réponses
en faisant un petit tour sur vbfrance.com, je suis tombé sur ce code
Langage : VB6 , VBA
Date ajout : 04/01/2008
Posté par Renfield [Liste]
Langage : VB6 , VBA
Date ajout : 04/01/2008
Posté par Renfield [Liste]
'# https://fr.wikipedia.org/wiki/ISO_8601#Num.C3.A9ro_de_semaine Public Function Week(ByVal vDate As Date) As Integer Dim dThursday As Date Dim dMonday As Date Dim nResult As Single '# Calculer le jeudi de la même semaine que la date cherchée. '# On calculera le numéro de semaine de ce jeudi pour être sûr de compter dans la '# bonne année sans test particulier. (Ce jeudi peut tomber l'année précédente ou suivante, '# c'est tout l'intérêt.) dThursday = DateAdd("D", 4 - Weekday(vDate, vbMonday), vDate) '# On considère le 4 janvier de la même année que ce jeudi dMonday = DateSerial(Year(dThursday), 1, 4) '# On calcule le lundi de la même semaine que ce 4 janvier (identifiant ainsi le début du comptage; '# noter que ce lundi peut lui même tomber l'année encore avant: peu importe) dMonday = DateAdd("D", 1 - Weekday(dMonday, vbMonday), dMonday) '# On calcule le nombre de jours écoulés entre nos deux dates particulières (ce jeudi et ce lundi). '# On divise par 7 (arrondir à l'entier supérieur). On a le résultat voulu. nResult = Abs(DateDiff("D", dThursday, dMonday)) / 7 If Fix(nResult) <> nResult Then Week = nResult + 1 Else Week = nResult End If End Function
Salut j'ai exactement le même problème.
Semaine: PartDate("ww";[datesaisie];2;2)
La date du 29/12 apparait en semaine 53.
c4est bizarre ce truc!!!
Semaine: PartDate("ww";[datesaisie];2;2)
La date du 29/12 apparait en semaine 53.
c4est bizarre ce truc!!!
ben non , c'est normal... C'est bien la 53ième semaine de l'année en cours...
Si tu mets PartDate("ww";[datesaisie]) alors tu auras 53 jusqu'au 31/12 et 1 à partir du 1er de l'an...
A+ Blux
Si tu mets PartDate("ww";[datesaisie]) alors tu auras 53 jusqu'au 31/12 et 1 à partir du 1er de l'an...
A+ Blux
"Les cons, ça ose tout. C'est même à ça qu'on les reconnait"
salut
je confirme les propos de Blux
dans une année il y a 53 semaines et non pas 52 car :
52 semaines de 7 jours = 364 j
> il manque 1j,25 ou 2j ( bissext ) pour completer l'année donc S53
dans ma boite meme les polytechniciens n'en demordaient pas , ils voulaient absolument 52s pour 1 année et quand tu fait des stats sur des semaines pleine de 7 j , la derneire semaine de l'année est forcement la 53 eme
prendre la solution de blux sur partdate... si on ne veut pas semaine complete de 7j
je confirme les propos de Blux
dans une année il y a 53 semaines et non pas 52 car :
52 semaines de 7 jours = 364 j
> il manque 1j,25 ou 2j ( bissext ) pour completer l'année donc S53
dans ma boite meme les polytechniciens n'en demordaient pas , ils voulaient absolument 52s pour 1 année et quand tu fait des stats sur des semaines pleine de 7 j , la derneire semaine de l'année est forcement la 53 eme
prendre la solution de blux sur partdate... si on ne veut pas semaine complete de 7j
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Merci quand même
en fait, quand tu cherches des numéros de semaine, il y a une valeur qu'il faut IMPERATIVEMENT renseigner dans ta fonction, c'est la constante firstweekofyear, elle indique comment ACCESS doit calculer la première semaine de l'année :
Est-ce celle qui contient le premier janvier ?
Est-ce celle qui est complète ?
Est-ce celle qui comprend au moins quatre jours ?
C'est un argument de la fonction DatePart (4ième paramètre), mais on n'y pense pas jusqu'à ce qu'on se plante en début (ou en fin) d'année car les données sont incorrectes... :-)
A+ Blux
Merci pour la réponse.
J'ai déjà essayé tous les paramètres, et seule la date du 29/12/2003 pose problème ?
Est-ce lié à une année bissextile qui suit ?
Merci
Etrange !
A+ Blux