Microsoft 365 Mise en forme conditionnel / vba

pierrof

XLDnaute Occasionnel
Bonjour,

Je souhaite sur mon projet mettre en évidence des valeurs d'un tableau par rapport à un autre. Les tableaux peuvent être de dimension variables.
A l'aide d'un code VBA, j'aimerais pouvoir mettre en forme la MFC et d'un autre la supprimer.

Je vous laisse un fichier exemple pour plus de clarté.

Merci d'avance de votre aide.

Cordialement
 

Pièces jointes

  • MFC.xlsm
    22.1 KB · Affichages: 4
Solution
Bonjour Pierrof,
Un essai en PJ sans passer par des MFC XL, avec :
VB:
Sub MFC()
    Application.ScreenUpdating = False
    For Col = 3 To 10                           ' Toutes les colonnes
        For Lig = 2 To [A65500].End(xlUp).Row   ' Toutes les lignes
            If Cells(Lig, Col) = Cells(Lig, Col + 28) Then
                Cells(Lig, Col).Interior.Color = RGB(150, 200, 80)  ' Si = alors Vert
            ElseIf Cells(Lig, Col) < Cells(Lig, Col + 28) Then
                Cells(Lig, Col).Interior.Color = RGB(255, 200, 0)   ' Si < alors Orange
            Else
                Cells(Lig, Col).Interior.Color = RGB(255, 0, 0)     ' Sinon Rouge
            End If
        Next Lig
    Next Col
End Sub
Sub RazColor()
    Range("C2:J" &...

sylvanu

XLDnaute Barbatruc
Supporter XLD
Bonjour Pierrof,
Un essai en PJ sans passer par des MFC XL, avec :
VB:
Sub MFC()
    Application.ScreenUpdating = False
    For Col = 3 To 10                           ' Toutes les colonnes
        For Lig = 2 To [A65500].End(xlUp).Row   ' Toutes les lignes
            If Cells(Lig, Col) = Cells(Lig, Col + 28) Then
                Cells(Lig, Col).Interior.Color = RGB(150, 200, 80)  ' Si = alors Vert
            ElseIf Cells(Lig, Col) < Cells(Lig, Col + 28) Then
                Cells(Lig, Col).Interior.Color = RGB(255, 200, 0)   ' Si < alors Orange
            Else
                Cells(Lig, Col).Interior.Color = RGB(255, 0, 0)     ' Sinon Rouge
            End If
        Next Lig
    Next Col
End Sub
Sub RazColor()
    Range("C2:J" & [A65500].End(xlUp).Row).Interior.Color = xlNone
End Sub
J'ai supposé que les deux tableaux commençaient en colonne B et AE, sinon il faut reprendre le code.
Les tableaux peuvent être de dimension variables.
J'ai supposé que c'est leurs longueur qui change.
 

Pièces jointes

  • MFC.xlsm
    19.6 KB · Affichages: 1

Discussions similaires

Réponses
9
Affichages
343