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

Macros et VBA Excel Discussion :

VBA Trouver jour avec semaine et année [Toutes versions]


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Inscrit en
    Août 2009
    Messages
    126
    Détails du profil
    Informations forums :
    Inscription : Août 2009
    Messages : 126
    Par défaut VBA Trouver jour avec semaine et année
    Bonjour,
    Savez vous comment faire en vba la chose suivante :
    Avec un numero de semaine et une année donnée trouver le jour.

    Ex : semaine : 32 année : 2009 alors jour : 03/08/09

    (j'aimerai que le jour de la semaine trouvée soit un lundi)

  2. #2
    Membre Expert Avatar de rvtoulon
    Homme Profil pro
    Agent Technique
    Inscrit en
    Mars 2009
    Messages
    1 042
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Agent Technique
    Secteur : Santé

    Informations forums :
    Inscription : Mars 2009
    Messages : 1 042
    Par défaut
    Slt,
    sous excel il y a la fonction JOURSEM qui te donne le jour correspondant à une date par exemple si ta date est dans la cellule B4 et que la semaine commence un Lundi la formule que tu insere dans la cellule ou tu veux afficher le jour est:
    Maintenant pour avoir le code VBA de cette formule tu peux utiliser l'enregistreur de macro.
    Tu met en route l'enregistreur il va te demander le nom que tu veux donner à la macro tu valides et ensuite tu sélectionnes la cellule ou veux entrer ta formule, puis dans la barre de formule tu entres ta formules tu valides et arrête l'enregistreur et tu vas voir le code.


    EDIT: J'ai oublié, la formule te rendra 1 pour Lundi ,2 pour Mardi etc... voir ensuite pour transformer Le 1 en Lundi via VBA ...

    voila un début de piste A+

  3. #3
    Inactif  
    Avatar de ouskel'n'or
    Profil pro
    Inscrit en
    Février 2005
    Messages
    12 464
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 12 464
    Par défaut
    Maintenant pour avoir le code VBA...
    Weekday(date, [firstdayofweek])
    Attention : La première semaine de l'année est le plus souvent en bascule sur deux années.
    La première semaine de l'année sera celle qui contient au moins 4 jours de cette semaine dans l'année concernée.
    Le calendrier français dans Excel prend le dimanche comme premier jour de semaine.
    Si tu changes le premier jour de la semaine, la numérotation des semaines dépendra donc de la date du début de la première semaine de l'année
    Bon courage

  4. #4
    Expert éminent Avatar de mercatog
    Homme Profil pro
    Inscrit en
    Juillet 2008
    Messages
    9 435
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Autre

    Informations forums :
    Inscription : Juillet 2008
    Messages : 9 435
    Par défaut
    Une proposition certes tordues et non vérifiée aux conditions limites
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    Public Function Lund(ByVal sem As Integer, ByVal an As Integer)
    Dim d As Date
     
    d = CDate("01/01/" & an)
    d = DateAdd("ww", sem, d)
     
    Lund = Format(DateAdd("d", 1 - Weekday(d, 2), d), "dd/mm/yyyy")
     
    End Function

  5. #5
    Inactif  

    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    4 555
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2007
    Messages : 4 555
    Par défaut
    Bonjour,
    1) une discussion très récente :
    http://www.developpez.net/forums/d81...-numjour-date/
    avec, en prime, un lien (tout premier message)
    2) lorsque l'on connait le 1er jour de la 1ère semaine d'une année, un simple calcul arithmétique (ajouter n-1 fois 7 jours pour la semaine n° n, par application de la fonction DateAdd) est ... un véritable jeu d'enfant.
    A toi de jouer, ami ...

  6. #6
    Rédacteur/Modérateur

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

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

    Informations forums :
    Inscription : Juillet 2007
    Messages : 14 682
    Par défaut
    aslut,
    je vous rappelle que la est toute dédiée à ces problématiques :
    http://access.developpez.com/faq/?pa...DAtPremJourSem

    Pensez-y
    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 :
    Migrer les applications VBA Access et VBA Excel vers la Power Platform
    Apprendre à programmer avec Access 2016, Access 2019 et 2021

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

    Coffrets disponibles de mes ouvrages : https://www.editions-eni.fr/jean-philippe-andre
    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

  7. #7
    Membre confirmé
    Inscrit en
    Août 2009
    Messages
    126
    Détails du profil
    Informations forums :
    Inscription : Août 2009
    Messages : 126
    Par défaut
    Merci Mercatog pour ta réponse.

    J'ai une date proche du jour souhaité mais pas exacte.Celà dois être du au fait qu'il ne prend pas en compte la différence entre les mois à 31 ou 30 jours.

    Je vais regarder ça pour l'affiner.


    Cdlt

  8. #8
    Expert éminent Avatar de mercatog
    Homme Profil pro
    Inscrit en
    Juillet 2008
    Messages
    9 435
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Autre

    Informations forums :
    Inscription : Juillet 2008
    Messages : 9 435
    Par défaut
    Non
    en fait, je ne connaissais pas la norme ISO décrite par les autres intervenants
    regarde ici que t'a proposé jpechek http://access.developpez.com/faq/?pa...DAtPremJourSem
    ça part du même principe avec en plus un contrôle sur la première semaine de janvier de l'année
    tu comprendras mieux comme ce que j'ai compris

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [JodaTime] Création de date avec semaine et année
    Par lequebecois79 dans le forum API standards et tierces
    Réponses: 6
    Dernier message: 22/04/2012, 01h33
  2. [VBA-E]Boucle sur semaine fin-debut d'année
    Par illight dans le forum Macros et VBA Excel
    Réponses: 8
    Dernier message: 09/01/2007, 14h40
  3. Réponses: 2
    Dernier message: 21/07/2006, 14h04
  4. [VBA E] jour mois année independant
    Par zoumzoum59 dans le forum Macros et VBA Excel
    Réponses: 5
    Dernier message: 29/06/2006, 23h44
  5. Retrouver date à partir des n° de jour, semaine et année
    Par infosorome dans le forum VB 6 et antérieur
    Réponses: 4
    Dernier message: 08/12/2005, 11h21

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