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 :

rapporte la date du dernier dimanche connu


Sujet :

Macros et VBA Excel

  1. #1
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    66
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Mars 2007
    Messages : 66
    Points : 39
    Points
    39
    Par défaut rapporte la date du dernier dimanche connu
    Salut,

    Je ne sais pas si je me complique la vie, mais je n'arrive pas à trouver une fonction qui me donnerait la date du dernier dimanche connu.
    Est-ce que quelqu'un pourrait m'éclairer svp ?

  2. #2
    Membre éclairé
    Profil pro
    Inscrit en
    Septembre 2008
    Messages
    753
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2008
    Messages : 753
    Points : 855
    Points
    855
    Par défaut
    Tu prends la date actuelle, et tant que le jour testé n'est pas dimanche tu recules de 1 jour: t'as plus qu'à traduire ça avec du code!

    Regarde aussi le module DateTime dans la bibliothèque VBA: t'as plein de trucs intéressants dedans.

  3. #3
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    66
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Mars 2007
    Messages : 66
    Points : 39
    Points
    39
    Par défaut
    Merci pour ta réponse.
    Voici ce que j'ai programmé (je ne suis pas un pro ), a priori ca fonctionne :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    For i = 1 To 8
        Find = Date - i
        Mydate = Format(Find, "dddd")
        If Mydate = "Sunday" Then
            Find = Date - i
            Find = Format(Find, "dddd, mmm d yyyy")
            i = 8
        End If
    Next
    End Sub

  4. #4
    Invité
    Invité(e)
    Par défaut
    Bonjour,

    Juste une remarque :

    pour cette fois cela fonctionne, mais vous utilisez "Find" comme une variable et c'est un mot-clé, ce qui n'est pas conseillé.

    Vous pouvez utiliser sans problème une variable vous convenant et qui n'est pas un mot-clé.

  5. #5
    Responsable
    Office & Excel


    Homme Profil pro
    Formateur et développeur chez EXCELLEZ.net
    Inscrit en
    Novembre 2003
    Messages
    19 124
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 57
    Localisation : Belgique

    Informations professionnelles :
    Activité : Formateur et développeur chez EXCELLEZ.net
    Secteur : Enseignement

    Informations forums :
    Inscription : Novembre 2003
    Messages : 19 124
    Points : 55 921
    Points
    55 921
    Billets dans le blog
    131
    Par défaut
    Bonjour

    Ca tient en une ligne

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    DimanchePrecedent = DatePivot + (1 - Weekday(DatePivot) Mod 8)
    Pour faire plus joli, on peut l'utiliser dans une fonction
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Function DimanchePrecedent(DatePivot As Date) As Date
        DimanchePrecedent = DatePivot + (1 - Weekday(DatePivot) Mod 8)
    End Function
    Si c'est pour utiliser dans Excel, pas besoin de passer par VBA
    Voici la formule
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    =A1+(1-MOD(JOURSEM(A1);8))

  6. #6
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    66
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Mars 2007
    Messages : 66
    Points : 39
    Points
    39
    Par défaut
    Merci par vos réponses.
    Je suis toujours faciné par vos manière de simplifier les choses ! Merci !!

  7. #7
    Membre éclairé
    Profil pro
    Inscrit en
    Septembre 2008
    Messages
    753
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2008
    Messages : 753
    Points : 855
    Points
    855
    Par défaut
    J'avoue que moi-même je n'ai pas pensé au Mod dont je suis pourtant assez friand, et pas qu'en VB/VBA.

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

Discussions similaires

  1. Réponses: 3
    Dernier message: 17/10/2014, 11h14
  2. Valeur de la date du dernier dimanche du mois
    Par LeSchtroumpf dans le forum Général VBA
    Réponses: 2
    Dernier message: 24/08/2012, 09h37
  3. creation d'un forum, date de derniere mise a jour
    Par Invité dans le forum Requêtes
    Réponses: 1
    Dernier message: 09/03/2006, 20h51
  4. [FLASH 8] Tri d'un dataGrid par rapport à la date
    Par aldo-tlse dans le forum Flash
    Réponses: 4
    Dernier message: 02/12/2005, 17h34
  5. [Upload] Date de dernier accès aux fichiers...
    Par John@EuroDevz dans le forum Langage
    Réponses: 10
    Dernier message: 08/04/2005, 10h57

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