IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

VB 6 et antérieur Discussion :

Retrouver date à partir des n° de jour, semaine et année


Sujet :

VB 6 et antérieur

  1. #1
    Futur Membre du Club
    Inscrit en
    Avril 2005
    Messages
    7
    Détails du profil
    Informations forums :
    Inscription : Avril 2005
    Messages : 7
    Points : 7
    Points
    7
    Par défaut Retrouver date à partir des n° de jour, semaine et année
    Salut,

    J'explique mon problème, j'ai un numéro de jour dans la semaine (5 pour le vendredi) un numéro de semaine (48 par exemple) et l'année 2006.

    Je cherche donc une fonction à laquelle je passe ces infos et qui me donne la date exacte : jour 5, semaine 48, année 2006 => 01/12/2006

    Alors, quelqu'un a une idée :

    Merci

  2. #2
    Membre du Club
    Profil pro
    Inscrit en
    Novembre 2005
    Messages
    53
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2005
    Messages : 53
    Points : 59
    Points
    59
    Par défaut
    j'en connais pas
    indication sur les numéros de semaine : c la semaine 1 si elle démarre entre le lundi et le jeudi
    c la 53ème semaine de l'année précédente dans les autres cas
    en France le dimanche est le 7ème jour
    février esr bisextile lorsque l'année est un modulo de 4, sauf pour les siècle c un modulo de 400

    avec ça et qq lignes de code tyu devrais pour faire ta procédure (ou fonction)

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Novembre 2005
    Messages
    53
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2005
    Messages : 53
    Points : 59
    Points
    59
    Par défaut
    si tu es interessé par l'inverse, calcul du rang dans la semaine, dans l'année, le n°de seamline ... et si le jour est férié
    j'ai la procédure

    ps : si tu connais qq'un qui pourrais me vendre une licence vb6, je suis intéressé

  4. #4
    Expert confirmé

    Profil pro
    Inscrit en
    Mai 2005
    Messages
    3 419
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2005
    Messages : 3 419
    Points : 4 297
    Points
    4 297
    Par défaut
    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
     
    Function nons(jour As Integer, semaine As Integer, an As Integer) As Date
    Dim x As Date
    'on recherche la date du premier lundi de l'année
    'la semaine débutant le lundi (norme)
    ' et la première semaine de l'année est celle qui contient le premier jeudi
    x = DateSerial(an - 1, 12, 27)
    Do Until (Format(x, "ww", vbMonday, vbFirstFourDays) < 51) And (Format(x, "dddd", vbMonday, vbFirstFourDays) = "lundi")
    x = x + 1
    Loop
    'on ajoute les semaines à la date trouvée
    x = x + ((semaine - 1) * 7)
    'on ajoute le jour à la date 1 pour lundi
    x = x + jour - 1
    nons = x
    End Function
    Elle est pas belle la vie ?

  5. #5
    Membre régulier
    Profil pro
    Inscrit en
    Octobre 2005
    Messages
    99
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2005
    Messages : 99
    Points : 110
    Points
    110
    Par défaut
    Voilà qui devrait te satisfaire :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    Function la_date(jour_semaine As Integer, num_semaine As Integer, annee As Integer) As Date
    Dim jour As Integer
    Dim en_plus As Integer
     
    'weekday renvoie le numéro du jour de la semaine
    jour = Weekday("01/01/" & annee, vbmonday) 
    'si le premier jour de l'année est le premier jour de la première semaine
    If jour < 5 Then
        la_date = DateAdd("d", 7 - jour + (num_semaine - 2) * 7 + jour_semaine, "01/01/" & annee)
    Else
        la_date = DateAdd("d", 7 - jour + (num_semaine - 1) * 7 + jour_semaine, "01/01/" & annee)
    End If
     
    End Function
    J'ai fait quelques tests et ça marche plutôt bien. Dis nous si ça te convient

    edit : petite correction au niveau de la fonction Weekday

Discussions similaires

  1. Date à partir du numéro du jour de l'année.
    Par saymon dans le forum Général Dotnet
    Réponses: 2
    Dernier message: 29/05/2009, 11h18
  2. Retrouver une date à partir du numéro de jour
    Par jesusnavas dans le forum VB.NET
    Réponses: 4
    Dernier message: 01/08/2008, 11h06
  3. calcul date à partir des jours ouvrés
    Par michel13 dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 30/05/2008, 20h18
  4. Réponses: 2
    Dernier message: 15/05/2008, 11h33
  5. [VB.Net] Obtenir une date à partir d'un numero de semaine
    Par tonysky dans le forum Windows Forms
    Réponses: 4
    Dernier message: 03/01/2007, 08h57

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo