Ma macro ne fonctionne pas!

Bonjour,
je suis débutante en VBA et je sollicite votre aide pour régler ma macro.
En effet, j’ai une liste de clients avec une date de validation et une date d’actualisation je veux créer un message d’alerte si le dossier dépassant une année et colorer les cellules de la date d’actualisation en vert pour les dossiers dépassant un an

pour être plus claire je joint mon fichier ou j’ai écris ma macro mais ça ne marche pas
Merci d’avance
clients.xlsm (21,1 Ko)

Bonjour,

Il vaut mieux utiliser la mise en forme conditionnelle qu’une macro pour changer la couleur des cellules de la colonne D.
Se positionner en D2 puis
Dans l’onglet Accueil/Mise en forme conditionnelle/Nouvelle règle/ Uriliser une formule pour déterminer…

Saisir : =ET(MOIS.DECALER($C2;12)<AUJOURDHUI();D2="")

CLiquer sur le bouton Format et choisir la couleur de remplissage
Valider
Dans la zone S’applique à saisir $D$2:$D$34
Valider

merci pour la réponse mais ce n’est pas le résultat que je veux , j’ai joint mon fichier et le resultat attendu
merci encore une fois
Crdlm

je ne sais pas pourquoi ma macro ne fonctionne pas elle se semble correcte
la voici Private Sub Workbook_Open()

Dim i As Integer
Dim i_dateadhesion As Integer
Dim dateadhesion As Date

i_dateadhesion = 0

For i = 2 To Sheets(“DATES”).Range(“d” & Rows.Count).End(xlUp).Row
dateLigne = CDate(Sheets(“DATES”).Cells(i, 4))
dateLigne1 = CDate(Sheets(“DATES”).Cells(i, 3))
If Not IsEmpty(Sheets(“DATES”).Cells(i, 4)) = True Then
Select Case Date - dateLigne
Case Is >= 365
Sheets(“DATES”).Cells(i, 4).Interior.ColorIndex = 10
i_dateadhesion = i_dateadhesion + 1
Case 354 To 364
Sheets(“DATES”).Cells(i, 4).Interior.ColorIndex = 45
Case Else
Sheets(“DATES”).Cells(i, 4).Interior.ColorIndex = 2
End Select
Else
Select Case Date - dateLigne1
Case Is >= 365
Sheets(“DATES”).Cells(i, 4).Interior.ColorIndex = 10

        Case 354 To 364
            Sheets("DATES").Cells(i, 4).Interior.ColorIndex = 45
              
        Case Else
            Sheets("DATES").Cells(i, 4).Interior.ColorIndex = 2
    End Select
End If

Next i

Bonsoir lili_ab,

Il ne faut pas utiliser la macro Private Sub Workbook_Open() dans la feuil1 et dans thisWorkbook.

J’ai dupliqué ta macro dans un module pour modification de la couleur des cellules suite la mise à jour des dates d’actualisation.
clients.xlsm (23,7 Ko)

Bonne soirée,
Cordialement.
.

Bonjour @lili_ab,
Ça peut aussi fonctionner sans macro, avec des mises en forme conditionnelles comportant des formules.
clients.xlsm (30,5 Ko)