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 SubJ'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)).SelectPouvez-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
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 Subric
Bonjour ric,
Merci pour ta solution, celle-ci fonctionne parfaitement.
Bon weekend à toi.
GuiGui8731
ric