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 :

Premier jour de la semaine


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2014
    Messages
    12
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2014
    Messages : 12
    Par défaut Premier jour de la semaine
    Bonjour à tous

    Je débute sous VBA et j'ai trouvé un code dans la FAQ ici qui permet de donner la date du premier jour d'une semaine :

    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
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    Public Function PremierJourSemaine(ByVal numSemaine As Byte, ByVal annee As Integer) As Date
     
        Dim d As Date
        Dim numS As Integer
     
        ' Premier jour de l'année
        d = DateSerial(annee, 1, 1)
     
        ' Numéro de la semaine du 1er janvier
        numS = DatePart("ww", d, vbMonday, vbFirstFourDays)
     
        ' Si le 1er janvier fait partie de la dernière semaine de l'année précédente
        ' alors passe à la semaine suivante (la première de la nouvelle année)
        If numS <> 1 Then d = DateAdd("d", 7, d)
     
        ' Calcule le premier jour de la première semaine de l'année
        d = DateAdd("d", 1 - Weekday(d, vbMonday), d)
     
        ' Ajoute (numSemaine-1) semaines
        PremierJourSemaine = DateAdd("ww", numSemaine - 1, d)
     
     
    End Function
     
    Sub Macro1()
     
    MsgBox PremierJourSemaine(26, 2002)
     
    End Sub
    Je cherche maintenant à appeler la fonction PremierJourSemaine dans mon fichier excel, c'est-à-dire rentrer le numéro de la semaine dans une cellule, l'année dans une autre pour obtenir la date du premier jour de la semaine dans la 3ème cellule où une boite de dialogue qui permet de faire la même chose...

    Merci d'avance

  2. #2
    Expert éminent

    Profil pro
    Conseil, Formation, Développement - Indépendant
    Inscrit en
    Février 2010
    Messages
    8 562
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Conseil, Formation, Développement - Indépendant

    Informations forums :
    Inscription : Février 2010
    Messages : 8 562
    Par défaut
    Bonjour

    Il suffit de copier la fonction dans un module standard du classeur concerné ou d'un classeur enregistré en xlam, classeur de macros complémentaires pour un usage plus général, pour pouvoir utiliser la fonction comme toute fonction Excel native.

  3. #3
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2014
    Messages
    12
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2014
    Messages : 12
    Par défaut
    Merci Chris, Problème résolu

  4. #4
    Rédacteur
    Avatar de Philippe Tulliez
    Homme Profil pro
    Formateur, développeur et consultant Excel, Access, Word et VBA
    Inscrit en
    Janvier 2010
    Messages
    13 166
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Formateur, développeur et consultant Excel, Access, Word et VBA

    Informations forums :
    Inscription : Janvier 2010
    Messages : 13 166
    Billets dans le blog
    53
    Par défaut
    Bonjour,
    Pour information.
    Pour connaître le premier jour de la semaine d'un jour donné (lundi qui précède ou égal à la date si lundi), il suffit d'une simple calcul arithmétique
    Pour connaître le lundi qui suit
    La date est en A2
    Tiré du livre de Laurent Longre "Fonctions et formules Excel 2007"
    Philippe Tulliez
    Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément. (Nicolas Boileau)
    Lorsque vous avez la réponse à votre question, n'oubliez pas de cliquer sur et si celle-ci est pertinente pensez à voter
    Mes tutoriels : Utilisation de l'assistant « Insertion de fonction », Les filtres avancés ou élaborés dans Excel
    Mon dernier billet : Utilisation de la fonction Dir en VBA pour vérifier l'existence d'un fichier

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

Discussions similaires

  1. [Dates] Comment obtenir le premier jour d'une semaine ?
    Par damien.vinouze dans le forum Langage
    Réponses: 8
    Dernier message: 09/05/2007, 08h26
  2. Calendar : Récupérer le premier jour de la semaine
    Par Sinan dans le forum Collection et Stream
    Réponses: 3
    Dernier message: 07/05/2007, 15h51
  3. Réponses: 7
    Dernier message: 31/07/2006, 13h50
  4. Mettre lundi comme premier jour de la semaine?
    Par catoucat dans le forum Access
    Réponses: 2
    Dernier message: 14/06/2006, 07h05
  5. Récupérez premier jour de la semaine
    Par Krapulax dans le forum Requêtes
    Réponses: 1
    Dernier message: 07/10/2003, 17h18

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