Bonjour à tous ! 🙂
Vioila j'ai un petit soucis de maccro s'exécutant à l'ouverture de mon fichier Excel. En gros j'ai une date de livraison qui est rentrée dans le fichier et je voudrais que selon que si l'on se rapproche de cette date, la cellule soit colloriée
- En vert si plus de 4 jours séparent la date d'aujourd'hui de la date de livraison
- En jaune si on est entre 2 et 4 jours de la date de livraison
- Rouge si on est à moins de 2 jours.
Voici la maccro que j'utilise :
J'ai l'impression qu'il ne rentre pas dans la boucle for pourtant je n'ai aps l'impression que la syntaxe soit mauvaise. J'ai vérifié et l'indice de la ligne comprenant la date d'aujourd'hui est bonne, la comparaison devrait se faire correctement.
Si quelqu'un a une idée, je suis preneur !
Merci d'avance 🙂
Vioila j'ai un petit soucis de maccro s'exécutant à l'ouverture de mon fichier Excel. En gros j'ai une date de livraison qui est rentrée dans le fichier et je voudrais que selon que si l'on se rapproche de cette date, la cellule soit colloriée
- En vert si plus de 4 jours séparent la date d'aujourd'hui de la date de livraison
- En jaune si on est entre 2 et 4 jours de la date de livraison
- Rouge si on est à moins de 2 jours.
Voici la maccro que j'utilise :
Code:
Private Sub Workbook_Open()
Dim i, Indice As Integer
'Indice va définir le numéro de ligne ou se trouve ma cellule avec la date d'aujourd'hui
Indice = Range("Report!B5").End(xlDown).row + 2
' La colonne de la date est la colonne F et la première cellule comprenant une date est en F6
For i = 6 To i = Sheets("Report").Range("F65536").End(xlUp).row
If Not Application.Intersect(Cells(i, 6), Range("F6:F65536")) Is Nothing And Target.Count = 1 Then
If (Cells(i, 6).Value - Cells(Indice, 2).Value) <= 4 Then
If (Cells(i, 6).Value - Cells(Indice, 2).Value) >= 2 Then
'MsgBox ("SUPERIEUR A 2")
Cells(i, 6).Interior.ColorIndex = 6
End If
If (Cells(i, 6).Value - Cells(Indice, 2).Value) < 2 Then
'MsgBox ("INFERIEUR A 2")
Cells(i, 6).Interior.ColorIndex = 3
End If
End If
If (Cells(i, 6).Value - Cells(Indice, 2).Value) > 4 Then
'MsgBox ("SUPERIEUR A 4")
Cells(i, 6).Cells.Interior.ColorIndex = 4
End If
End If
Next i
End Sub
J'ai l'impression qu'il ne rentre pas dans la boucle for pourtant je n'ai aps l'impression que la syntaxe soit mauvaise. J'ai vérifié et l'indice de la ligne comprenant la date d'aujourd'hui est bonne, la comparaison devrait se faire correctement.
Si quelqu'un a une idée, je suis preneur !
Merci d'avance 🙂
Dernière édition: