[resolu] Mise en forme conditionnelle par VBA pour chaque onglet

cissou69

XLDnaute Junior
Bonjour,

Suite à plusieurs de mes postes, j'ai voulu combiner deux macros mais le résultat n'est pas au rendez-vous...
L'idée est d'établir une mise en forme conditionnelle à l'aide d'une macro qui s'applique à tous les onglets d'un classeur actif.
Or lorsque je lance la macro, elle ne s'applique que sur l'onglet actif !!

Le code est le suivant:

Code:
Sub Mise_en_forme()

Application.ScreenUpdating = False

Dim s As Worksheet

For Each s In Worksheets
Set Plg = Range("F2:AS" & Cells(Rows.Count, 1).End(xlUp).Row)
    For Each C In Plg
        Select Case C.Value
            Case "M"
                C.Interior.ColorIndex = 35
            Case "P"
                C.Interior.ColorIndex = 37
            Case "C"
                C.Interior.ColorIndex = 44
            Case "F"
                C.Interior.ColorIndex = 46
            Case Else
                C.Interior.ColorIndex = xlNone
        End Select
    Next C
Next s

Application.ScreenUpdating = True

End Sub

Merci de votre aide
 
Dernière édition:
G

Guest

Guest
Re : Mise en forme conditionnelle par VBA pour chaque onglet

Bonjour,

Manque juste des 's.'

Code:
Set Plg = s.Range("F2:AS" & s.Cells(s.Rows.Count, 1).End(xlUp).Row)
et éventuellement devant le C

Code:
Sub Mise_en_forme()
 
Application.ScreenUpdating = False
 
Dim s As Worksheet
 
For Each s In Worksheets
Set Plg = s.Range("F2:AS" & s.Cells(s.Rows.Count, 1).End(xlUp).Row)
    For Each C In Plg
        Select Case C.Value
            Case "M"
                C.Interior.ColorIndex = 35
            Case "P"
                C.Interior.ColorIndex = 37
            Case "C"
                C.Interior.ColorIndex = 44
            Case "F"
                C.Interior.ColorIndex = 46
            Case Else
                C.Interior.ColorIndex = xlNone
        End Select
    Next C
Next s
 
Application.ScreenUpdating = True
 
End Sub

A+
 
Dernière modification par un modérateur:

Discussions similaires

Réponses
3
Affichages
228