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.
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") & "\"
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
Partager