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 :

Les répertoires créés en J, J-1 et J-2 et J-3


Sujet :

Macros et VBA Excel

  1. #1
    Nouveau membre du Club
    Inscrit en
    Novembre 2009
    Messages
    32
    Détails du profil
    Informations forums :
    Inscription : Novembre 2009
    Messages : 32
    Points : 31
    Points
    31
    Par défaut Les répertoires créés en J, J-1 et J-2 et J-3
    Bonjour le forum,

    Voila mon problème : mon code vérifie l'existence de répertoire créés en J, J-1, J-2 et J-3.
    Pour cela je diminue le jour de la date de -1, -2, et -3 avec la variable Day_Offset comme ci-dessous :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    Location = Cells(Client, 8).Value & Format(Now(), "yyyy") & "\" & Format(Now(), "mm") & "\" & Format(Now() + Day_Offset, "dd") & "\"
    Ca marche bien, jours ouvrés et we inclus.
    MAIS cette méthode ne fonctionne pas lors des changements de mois !!

    En effet au 1/06/2017 par exemple, cette macro vérifiera les dates 1/06, -1/06 et 0/06...mais sans vérifier les 31/05 et 30/05...

    Comment faire ?

    Voici le code complet :

    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
     
    ' Si on est lundi :
    If Weekday(Now()) = 2 Then
    ' alors on commence l'itération au vendredi :
            Day_Offset = -3
        Else
    ' sinon on commence hier :
            Day_Offset = -1
        End If
     
    ' On ne va pas plus loin que aujourd'hui :
        Do While Day_Offset < 1
     
    ' le répertoire à vérifier est le comme cela :
            Location = Cells(client, 8).Value & Format(Now(), "yyyy") & "\" & Format(Now(), "mm") & "\" & Format(Now() + Day_Offset, "dd") & "\"
    ' si le répertoire n'existe pas :
            If Len(Dir(Location, vbDirectory)) = 0 Then
    ' alors cellule en rouge :
                 Cells(client, 9).Interior.ColorIndex = 3
            Else
    ' si le répertoire existe -->: cellule verte
                Cells(client, 9).Interior.ColorIndex = 10
            End If
    ' on passe au jour suivant :
            Day_Offset = Day_Offset + 1
    Loop

  2. #2
    Expert éminent sénior 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
    Points : 31 877
    Points
    31 877
    Par défaut
    Inspire toi de ce code

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    Dim i As Integer
     
    For i = 0 To 36
        Debug.Print Format(Date - i, "yyyy/mm/dd")
    Next i
    Cordialement.
    J'utilise toujours le point comme séparateur décimal dans mes tests.

  3. #3
    Expert confirmé
    Homme Profil pro
    PAO
    Inscrit en
    Octobre 2014
    Messages
    2 576
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : PAO
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Octobre 2014
    Messages : 2 576
    Points : 4 174
    Points
    4 174
    Par défaut
    bonsoir,

    Jette un coup d'oeil aussi à Step dans la boucle For Next
    qui te sera utile si tu veux commencer 3 jours avant pour remonter à aujourd'hui
    Cordialement
    Ryu

    La connaissance s’acquiert par l’expérience, tout le reste n’est que de l’information. – Albert Einstein

    Pensez à la Balise [ CODE][/CODE ] - à utiliser via le bouton # => Exemple

    Une fois votre problème solutionné pensez à mettre en n'oubliant pas d'indiquer qu'elle est la solution finale choisie

Discussions similaires

  1. Réponses: 6
    Dernier message: 24/09/2016, 17h52
  2. [Debutant(e)]Eclipse TOTAL: noyé sous les répertoires
    Par albertl dans le forum Eclipse Java
    Réponses: 7
    Dernier message: 03/05/2008, 22h44
  3. Un purge efficace pour les répertoires Windows
    Par Furius dans le forum Windows XP
    Réponses: 4
    Dernier message: 14/10/2005, 09h20
  4. [JFileChooser] Afficher seulement les répertoires
    Par Cyborg289 dans le forum Agents de placement/Fenêtres
    Réponses: 2
    Dernier message: 04/09/2005, 15h45
  5. Comment voir les champs créés dans les tables?
    Par Missvan dans le forum PostgreSQL
    Réponses: 3
    Dernier message: 18/02/2004, 10h27

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