Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

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

Wyrgle

XLDnaute Junior
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:
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 :
VB:
' 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
 

mapomme

XLDnaute Barbatruc
Supporter XLD
Bonsoir Wirgle,

A tout hasard:
Dans la formule de Location=..., l'année et le mois sont constants ; ce sont toujours l'année et le mois de la date du jour. il faudrait peut-être remplacer Now() par Now() + Day_Offset (comme vous l'avez fait pour le jour) ?
 

Discussions similaires

Réponses
2
Affichages
263
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…