Appliquer une mise en forme conditionnelle toutes les deux colonnes

Bonjour,

Voici mon code :

Sub Essai_MEFC()

    Dim Std As Integer
    Dim i%
    Dim j As Integer
    Dim k As Integer
    Dim GDerlig As Integer

    Worksheets("Analyse comparative").Select
    Range("A4:CC4000").Select
    Selection.FormatConditions.Delete

With Worksheets("Analyse comparative")
    For i = 1 To 160
        For j = 2 To 161
            If .Cells(1, i).Value <> "" And .Cells(1, j).Value <> "" Or .Cells(1, i).Value <> "" And .Cells(1, j).Value = "" Or .Cells(1, i).Value = "" And .Cells(1, j).Value <> "" Then

                Range(Cells("1:300", i), Cells("1:300", j)).Select
                Selection.FormatConditions.AddUniqueValues
                Selection.FormatConditions(Selection.FormatConditions.Count).SetFirstPriority
                Selection.FormatConditions(1).DupeUnique = xlDuplicate
                With Selection.FormatConditions(1).Interior
                    .PatternColorIndex = xlAutomatic
                    .Color = 5296274
                    .TintAndShade = 0
                End With
                Selection.FormatConditions(1).StopIfTrue = False

                Range(Cells("1:300", i), Cells("1:300", j)).Select
                Selection.FormatConditions.AddUniqueValues
                Selection.FormatConditions(Selection.FormatConditions.Count).SetFirstPriority
                Selection.FormatConditions(1).DupeUnique = xlUnique
                With Selection.FormatConditions(1).Interior
                    .PatternColorIndex = xlAutomatic
                    .Color = 255
                    .TintAndShade = 0
                End With
                Selection.FormatConditions(1).StopIfTrue = False

                i = i + 3
                i = i + 3
            End If
        Next j
    Next i
End With

End Sub

J'essaye d'appliquer deux mises en forme conditionnelles entre deux colonnes. Jusque là tout va bien.

J'aimerais appliquer ces mêmes mises en forme conditionnelles en décalant de plusieurs colonnes.

Par exemple, j'applique mes deux MFC pour les colonnes A et B si il y a du texte en A1 et B1 ou si A1 est plein et B1 est vide ou A1 est vide et B1 est plein. Puis je passe aux colonnes D et E en faisant le même principe et ainsi de suite.

Mon code plante sur la partie :

Range(Cells("1:300", i), Cells("1:300", j)).Select

Pouvez-vous m'aider là-dessus ? Merci d'avance

GuiGui8731

Bonjour,

J'ai un peu avancé dans mon code. Celui-ci marche mais pas comme je veux.

Je voudrais toutes les deux colonnes ajouter deux mises en formes conditionnelles. Je commence en A et B, puis D et E, puis G et H et ainsi de suite.

Ci-joint mon fichier pour aider.

GuiGui8731

8classeur1.zip (100.39 Ko)

Bonjour,

Je suggère une boucle différente > fonctionne sur le nombre de colonnes avec données détectées sur la ligne 1 ...

L'on applique sur les 2 colonnes juxtaposées > puis un step de 3 > et l'on recommence ...

Un essai ...

Sub Essai_MEFC()

Dim i%
Dim Dcol As Integer

   Application.ScreenUpdating = False
   Worksheets("Analyse comparative").Activate
   Cells.FormatConditions.Delete

   With Worksheets("Analyse comparative")
      Dcol = .Cells(1, Columns.Count).End(xlToLeft).Column
      For i = 1 To Dcol Step 3
         With .Range(.Cells(4, i), .Cells(300, i + 1))
            .FormatConditions.AddUniqueValues
            .FormatConditions(.FormatConditions.Count).SetFirstPriority
            .FormatConditions(1).DupeUnique = xlDuplicate
            With .FormatConditions(1).Interior
               .PatternColorIndex = xlAutomatic
               .Color = 5296274
               .TintAndShade = 0
            End With
            .FormatConditions(1).StopIfTrue = False
            .FormatConditions.AddUniqueValues
            .FormatConditions(.FormatConditions.Count).SetFirstPriority
            .FormatConditions(1).DupeUnique = xlUnique
            With .FormatConditions(1).Interior
               .PatternColorIndex = xlAutomatic
               .Color = 255
               .TintAndShade = 0
            End With
            .FormatConditions(1).StopIfTrue = False
         End With
      Next i
   End With
End Sub

ric

Bonjour ric,

Merci pour ta solution, celle-ci fonctionne parfaitement.

Bon weekend à toi.

GuiGui8731

ric

Rechercher des sujets similaires à "appliquer mise forme conditionnelle toutes deux colonnes"