Bonjour, je suis nouveau et j’aimerais avoir votre aide.
Voila j’ai un problème j’essaye d’utiliser la fonction suivante :
Elle permet donc de convertir un numéro de semaine en date
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17 Function LundiSemaineAnnéeQuelconque(semaine As Integer, Optional An As Integer = 0) As Date On Error GoTo TraitementErreur 'Teste si le numéro de semaine est correct et si l'année est spécifiée. If IsNull(semaine) Or semaine <= 0 Or semaine > 52 Then MsgBox "Le numéro de semaine est incorrect, veuillez corriger", vbCritical, "Erreur de saisie" Exit Function ElseIf An = 0 Then An = Year(Date) End If Dim Datetemp As Date ' On calcule à partir du 1er janvier de l'année spécifiée Datetemp = DateSerial(An, 1, 1) + (semaine - 1) * 7 LundiSemaineAnnéeQuelconque = Datetemp - (Weekday(Datetemp) - vbMonday) Exit Function TraitementErreur: MsgBox "No Erreur: " & Err.Number & Chr(13) & Chr(13) & Err.Description End Function
J’ai un formulaire avec une textbox ou j’entre un numéro de semaine (exemple : 52)
La fonction me retourne le 24/12/2009 jusqu'à là pas de problème.
Le problème est que je n’arrive pas à afficher la date d’une autre année.
Si jentre 52/08 j’ai une erreur d’exécution 13 (incompatibilité de type) (je suppose que c’est-à-cause du « / »
Si j’entre 5208 le nombre est >53 donc j’ai le message qui me dit que mon numéro de semaine n’est pas valide.
J’ai essayé 52 08 j’obtiens toujours 24/12/2009 et non l’année 2008
De plus, je n’ai pas l’impression que cela me donne la bonne date du lundi car quand on tape 52 (de l’année 2009) cela m’affiche 24/12/2009 et normalement ca devrait être le 21/12/2009 (il me semble)
Quelqu’un a une idée ?
Ah, j’oubliais petit détail (qui a son importance :p) je ne suis vraiment pas très bon en programmation
sinon un peu plus bas dans le forum, j'ai vu un post de Scopas qui voulait faire la meme chose mais je prefere le code que j'ai inseré un peu plus haut dans ce post.
merci de votre aide par avance
Partager