[RESOLU] VBA: mise en forme conditionnelle dans tableaux de tailles variables

chacal33

XLDnaute Junior
Bonjour à toutes et à tous,

Je suis bloqué sur un code vba.
J'ai plusieurs tableaux sur une même feuille. Je souhaiterais créer des mises en formes conditionnelles sur 3 colonnes de chaque tableau.

Je joins évidemment un fichier car mes explications ne suffiront pas de toute façon et c'est la moindre des politesses.

Merci d'avance.

Matthieu
 

Pièces jointes

  • TEST.xlsm
    37.8 KB · Affichages: 61
  • TEST.xlsm
    37.8 KB · Affichages: 63
  • TEST.xlsm
    37.8 KB · Affichages: 69
Dernière édition:

job75

XLDnaute Barbatruc
Re : VBA: mise en forme conditionnelle dans tableaux de tailles variables

Bonjour chacal33,

Que vient faire VBA là-dedans ???

Sélectionner les colonnes D à F

Puis Mise en forme conditionnelle (MFC) :

- 1ère condition (orange) formule =$D1="C"

- 2ème condition (vert) formule =$D1="L"

Attention au signe $...

Créer de la même manière les MFC sur les colonnes H à J, L à N, etc...

A+
 

chacal33

XLDnaute Junior
Re : VBA: mise en forme conditionnelle dans tableaux de tailles variables

Bonjour,

l'objectif est que VBA fasse ces MFC automatiquement.
Car j'aurai plusieurs fichiers à traiter dans lesquels le nombre de colonnes sera différent et le le nombre de lignes par sous tableaux sera variable.
Du coup je pensais que VBA serait plus pratique.

Matt
 

job75

XLDnaute Barbatruc
Re : VBA: mise en forme conditionnelle dans tableaux de tailles variables

Bonjour chacal33,

Alors exécutez cette macro de la manière que vous voulez :

Code:
Sub MFC()
Dim col%
Application.ScreenUpdating = False
With ActiveSheet
  .Cells.FormatConditions.Delete 'RAZ
  col = .Cells.Find("*", , xlValues, , xlByColumns, xlPrevious).Column
  For col = 4 To col Step 4
    With .Columns(col).Resize(, 3)
      .Select
      x = "=$" & .Cells(1).Address(0, 0)
      .FormatConditions.Add xlExpression, Formula1:=x & "=""C"""
      .FormatConditions(1).Interior.ColorIndex = 44
      .FormatConditions.Add xlExpression, Formula1:=x & "=""L"""
      .FormatConditions(2).Interior.ColorIndex = 4
    End With
  Next
  .[A1].Select
End With
End Sub
A+
 
Dernière édition:

Discussions similaires

Statistiques des forums

Discussions
312 348
Messages
2 087 508
Membres
103 568
dernier inscrit
NoS