Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1216 connectés 

  FORUM HardWare.fr
  Programmation
  VB/VBA/VBS

  Probleme avec numeros de la semaine

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Probleme avec numeros de la semaine

n°1510445
zit_zit
Posté le 03-02-2007 à 15:13:33  profilanswer
 

Bonjour à tous,

 

je suis en train  de faire un petit programme sous excel et j'avais besoin de recuperer le numros de la semaine.
Pour cela j ai utilisé la fonction datepart qui me semblait bien marché jusqu'au moment ou...
surprise lorsque je fais datepart("ww",dateserial(2007,12,31),vbMonday) j ai 53 semaine!!!!!!!!!!! au lieu de 52...
alors ma question est simple es ce que windobe à encore fait de la  m... avec des fonctions qui ne marchent pas??  [:atog]

 

si quelqu un connait un moyen  de recup le num de la semaine en passant une date ba je suis preneur.

 

merci d avance


Message édité par zit_zit le 03-02-2007 à 15:20:28
mood
Publicité
Posté le 03-02-2007 à 15:13:33  profilanswer
 

n°1510454
olivthill
Posté le 03-02-2007 à 15:39:47  profilanswer
 

Bonjour,
 
Il va falloir vous excuser auprès de Windobe, parce que je crains qu'Excel ait raison. Comptez vous-même, et vous verrez que le lundi 31 décembre 2007 est au début de la 53e semaine. 52x7=364, donc il y a toujours 1 ou 2 jours par an en 53e semaine.

n°1510464
zit_zit
Posté le 03-02-2007 à 16:20:32  profilanswer
 

je veux bien m'excuser aupres de windobe cependant la semaine 53 n existe pas pour 2007 et que le lundi 31 2007 correspond bien à la premiere semaine de 2008

n°1510478
seniorpapo​u
Posté le 03-02-2007 à 17:35:23  profilanswer
 

Bonsoir,
si cela peut être utile?:
http://forum.hardware.fr/hfr/Windo [...] 9269_1.htm
il y a un lien vers wikipedia
Cordialement

n°1510480
zit_zit
Posté le 03-02-2007 à 17:53:33  profilanswer
 

merci bcp  

n°1510537
kiki29
Posté le 04-02-2007 à 06:06:11  profilanswer
 


Option Explicit
 
Function NumSem(ddate As Date) As Integer
Dim t As Long
  t = DateSerial(Year(ddate + (8 - Weekday(ddate)) Mod 7 - 3), 1, 1)
  NumSem = ((ddate - t - 3 + (Weekday(t) + 1) Mod 7)) \ 7 + 1
End Function
 
Sub Tst()
  Debug.Print NumSem(CDate("31/12/2007" ))
End Sub


Message édité par kiki29 le 04-02-2007 à 06:55:51
n°1510966
pyrof
Posté le 05-02-2007 à 15:54:30  profilanswer
 

Bonjour,
 
Dans excel, il existe une fonction NO.SEMAINE, mais il faut au préalable:
Outils
 Macro complémentaires
   Utilitaire d'analyse
 
 

n°1511896
teoh
Posté le 07-02-2007 à 17:32:46  profilanswer
 

A savoir qu'il y a 3 modes de calcul du numéro de semaine. Le plus répandu, donc celui à utiliser base la semaine 1 sur la première semaine de l'année qui a 4 jours ou + -> Il est donc possible d'avoir une semaine "0" parfois
 
Si un autre mode de calcul est utilisé, il est très probable d'avoir la semaine 53 qui tombe

n°1511900
teoh
Posté le 07-02-2007 à 17:38:28  profilanswer
 

Par exemple pour afficher la semaine en cours :
 
 
 

Citation :

Dim datNow As Date
Dim strDate1 As String
 
    datNow = Now
    strDate1 = "[Sem " & Format(Format(datNow, "ww", vbMonday, vbFirstFourDays), "00" ) & "]"
    Call Debug.Print(strDate1)


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  VB/VBA/VBS

  Probleme avec numeros de la semaine

 

Sujets relatifs
[PHP] Problème de Warningprobleme de session register
probleme de compliation javacprobleme d'installation d'un module perl
probleme avec smartyProblème avec gotoAndPlay()
probleme pour lire un fichier texte avec script phpProblème caractère "?" à la place des "é"
Problème de comparaison.Flash Problème Clip dans un Clip
Plus de sujets relatifs à : Probleme avec numeros de la semaine


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR