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 :
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 :
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