Bonjour,
Pensez à l'avenir, il est plus important de décrire le but à atteindre que de nous livrer votre code, c'est une perte de temps qui nous oblige à déchiffrer ce que vous avez voulu faire.
Voici votre code revu et corrigé:
Sub TableauMFC()
'Déclaration des variables
Dim Sh As Worksheet
Dim DerLig As Long
Dim FC1 As Excel.FormatCondition, FC2 As Excel.FormatCondition
Dim Plage_MFC As Range
Application.ScreenUpdating = False 'empêche les rafraîchissements de l'écran et accélère la lecture du code
Set Sh = Sheets("Actions Wolf+réduc impot revenu") 'Affecte une variable à la feuille
DerLig = Sh.Range("V" & Rows.Count).End(xlUp).Row 'trouve la dernière ligne du tableau
Set Plage_MFC = Sh.Range(Cells(41, "V"), Cells(DerLig, "AP")) 'Déclare les limites de la zones des mFC
Plage_MFC.FormatConditions.Delete 'Effacement des précédentes MFC
Sh.Range("V41").Select 'on se positionne sur la première cellule du tableau
Set FC1 = Plage_MFC.FormatConditions.Add(Type:=xlExpression, Formula1:="=$AA41<>0") 'Application de la première condition
FC1.Interior.Color = RGB(32, 232, 80) 'format
Set FC2 = Plage_MFC.FormatConditions.Add(Type:=xlExpression, Formula1:="=ET($AA41=0;ANNEE($AD41)<$K$1)") 'Application de la deuxième condition
FC2.Interior.Color = RGB(255, 0, 0) 'format
'Libération de la mémoire
Set Sh = Nothing
Set FC1 = Nothing
Set FC2 = Nothing
Set Plage_MFC = Nothing
End Sub
Cdlt