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

Contribuez Discussion :

Trouver un mois à partir d'un numéro de semaine et de l'année


Sujet :

Contribuez

  1. #1
    Membre du Club
    Inscrit en
    Janvier 2009
    Messages
    77
    Détails du profil
    Informations forums :
    Inscription : Janvier 2009
    Messages : 77
    Points : 54
    Points
    54
    Par défaut Trouver un mois à partir d'un numéro de semaine et de l'année
    Bonjour

    Le problème s'est posé à moi(s ) un jour, et les codes que j'ai trouvé sur le net étaient des usines à gaz, alors que finalement c'est relativement simple, grâce à la fonction VBA DAteAdd.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    Public Function SemaineToMois(annee As String, semaine As String) As Integer
        Dim jour As Date
        jour = DateAdd("ww", semaine, DateSerial(annee, 1, 1))
        Debug.Print jour
        SemaineToMois = month(DateAdd("ww", semaine, DateSerial(annee, 1, 1)))
     
    End Function
     
    Sub essai()
     
        Debug.Print SemaineToMois(2010, 39)
     
    End Sub
    Seule limite à cette fonction : si une semaine est à cheval sur deux mois, le mois pris en compte sera celui du même jour de la semaine que le 1er janvier de l'année fournie en paramètre.
    Exemple : en 2010 le 1er janvier est un vendredi. Pour la semaine 39 par exemple, la fonction fournit le mois d'octobre car le vendredi de la semaine 39 est le 1er octobre.

  2. #2
    Rédacteur/Modérateur

    Avatar de Jean-Philippe André
    Homme Profil pro
    Développeur VBA/C#/VB.Net/Power Platform
    Inscrit en
    Juillet 2007
    Messages
    14 594
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : Canada

    Informations professionnelles :
    Activité : Développeur VBA/C#/VB.Net/Power Platform
    Secteur : Finance

    Informations forums :
    Inscription : Juillet 2007
    Messages : 14 594
    Points : 34 261
    Points
    34 261
    Par défaut
    Salut,
    il s'agit en fait de combiner plusieurs fonctions proposees dans la
    http://access.developpez.com/faq/?page=dates#

    Entre
    http://access.developpez.com/faq/?pa...DAtPremJourSem
    et
    http://access.developpez.com/faq/?pa...#ExtrDateHeure

    Par contre, je ne comprends pas l'interet (hors explicatif) de ta variable jour
    Cycle de vie d'un bon programme :
    1/ ça fonctionne 2/ ça s'optimise 3/ ça se refactorise

    Pas de question technique par MP, je ne réponds pas

    Mes ouvrages :
    Apprendre à programmer avec Access 2016, Access 2019 et 2021

    Apprendre à programmer avec VBA Excel
    Prise en main de Dynamics 365 Business Central

    Pensez à consulter la FAQ Excel et la FAQ Access

    Derniers tutos
    Excel et les paramètres régionaux
    Les fichiers Excel binaires : xlsb,

    Autres tutos

  3. #3
    Membre expérimenté Avatar de stigma
    Homme Profil pro
    Créateur jeux vidéo
    Inscrit en
    Octobre 2003
    Messages
    1 111
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 73
    Localisation : France, Pas de Calais (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Créateur jeux vidéo
    Secteur : Arts - Culture

    Informations forums :
    Inscription : Octobre 2003
    Messages : 1 111
    Points : 1 612
    Points
    1 612
    Par défaut
    Citation Envoyé par patbeautifulday Voir le message
    Le problème s'est posé à moi(s ) un jour, et les codes que j'ai trouvé sur le net étaient des usines à gaz, alors que finalement c'est relativement simple, grâce à la fonction VBA DAteAdd.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    Public Function SemaineToMois(annee As String, semaine As String) As Integer
        Dim jour As Date
        jour = DateAdd("ww", semaine, DateSerial(annee, 1, 1))
        Debug.Print jour
        SemaineToMois = month(DateAdd("ww", semaine, DateSerial(annee, 1, 1)))
     
    End Function
     
    Sub essai()
     
        Debug.Print SemaineToMois(2010, 39)
     
    End Sub
    Seule limite à cette fonction : si une semaine est à cheval sur deux mois, le mois pris en compte sera celui du même jour de la semaine que le 1er janvier de l'année fournie en paramètre.
    Exemple : en 2010 le 1er janvier est un vendredi. Pour la semaine 39 par exemple, la fonction fournit le mois d'octobre car le vendredi de la semaine 39 est le 1er octobre.
    Merci beaucoup, c'est exactement ce que je cherchais.

Discussions similaires

  1. [2008R2] Récupérer une date à partir d'un numéro de semaine et d'une année.
    Par ff.martin dans le forum Développement
    Réponses: 5
    Dernier message: 24/07/2014, 15h20
  2. Réponses: 15
    Dernier message: 24/04/2014, 09h58
  3. Récupérer la date à partir d'un numéro de semaine et de l'année
    Par aurelientp dans le forum Général Java
    Réponses: 4
    Dernier message: 11/01/2010, 13h43
  4. Réponses: 6
    Dernier message: 01/03/2007, 13h57
  5. Réponses: 7
    Dernier message: 09/01/2007, 08h44

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