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)
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…
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
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)