Bonjour et bienvenue au forum,
Avant de répondre à ta question, 2 petits commentaires de formes :
- Lorsque tu écris du code, écris le entre balises code (bouton #), c'est plus lisible.
- Ici, c'est le forum Excel, il existe un forum entièrement dédié à VBA Excel. Pour la prochaine fois

Maintenant, venons-en à ton code. Il y a plusieurs incohérences.
1. Tout d'abord, pourquoi une macro pour écrire une MFC ? Ne peux-tu pas directement écrire la MFC dans Excel ? Ce serait plus simple.
2. Target représente la cellule modifiée, donc Cells(Target.Row, Target.Column) ... c'est Target ! Ton rng, c'est Target. Cela ne te sert à rien de déclarer un objet rng, travaille directement avec Target 
3.
1 2 3
| DateT = Format(Date, "dd/mm/yy")
CellDate = CDate(DateT)
MyDate = Date - 7 |
Ici, tu as un micmac de formules dont je ne comprends pas bien l'intérêt. utiliser CellDate revient à utiliser Date...
4. Ta condition de MFC est CellDate = MyDate or CellDate est Date et MyDate est Date + 7, donc tu n'auras JAMAIS le cas CellDate = MyDate.
5. Enfin, ta condition de MFC est mal renseignée. Tu utilises mal les variables. Petit exemple :
1 2 3 4
| Dim i As Integer
i = 3
MsgBox "Monsieur Dupond a " & i & " enfants." 'renvoie : Monsieur Dupon a 3 enfants.
MsgBox "Monsieur Dupond a i enfants." 'renvoie : Monsieur Dupond a i enfants. |
Donc, tu devrais écrire :
.FormatConditions.Add Type:=xlExpression, Formula1:="=" & CellDate & " = " & MyDate
Il reste toujours que cette condition n'a jamais lieu ...
Il faudrait que tu précises la condition de ta MFC, mais a mon avis, tu ne devrais que garder la partie modification du commentaire dans ta macro et faire la MFC une fois à la main en Excel.
Partager