Mise en forme conditionnelle sur plusieurs onglets

Bonjour,

Je coince sur une macro et je ne trouve pas la solution donc j'en appelle à vous pour m'aider !

J'ai créé une macro avec une mise en forme conditionnelle qui s'applique sur un onglet (tableau croisé dynamique) qui regroupe l'ensemble des infos qui viennent d'un rapport et reprend l'ensemble des personnes de la société. J'aimerai que lors de la mise à jour, le mise en forme conditionnelle s'applique également sur tous les autres onglets qui vont être créés, en sachant que chaque nouvel onglet sera un tableau croisé dynamique qui est créé pour chaque personne de la société.

Je m'explique... quand je mets à jour la macro va tout d'abord supprimer les onglets existants, puis va aller chercher dans un onglet annexe une liste de personnes. Elle va ensuite recréer un onglet par personne, mais la mise en forme conditionnelle ne s'applique pas sur tous les nouveaux onglets.

Ci-dessous la macro actuelle : à partir de ("Range B12").Select la mise en forme conditionnelle sous forme de recorded macro et qu'il faudrait pouvoir appliquer aux autres onglets.

Sub Refresh()

Dim xWs As Worksheet

Application.ScreenUpdating = False

Application.DisplayAlerts = False

For Each xWs In Application.ActiveWorkbook.Worksheets

If xWs.Name <> "Welcome" And xWs.Name <> "Event" And xWs.Name <> "data" And xWs.Name <> "dataad" Then

xWs.Delete

End If

Next

Application.DisplayAlerts = True

Application.ScreenUpdating = True

ThisWorkbook.RefreshAll

Sheets("Event").Select

Range("B11").Select

ActiveSheet.PivotTables("PivotTable1").ShowPages PageField:="Event Mgr"

Sheets("Event").Select

Sheets("Event").Move Before:=Sheets(2)

Dim MySheet As Worksheet

Dim MyPivot As PivotTable

Dim slCaches As SlicerCaches

Dim slCache As SlicerCache

Set slCaches = ThisWorkbook.SlicerCaches

For Each slCache In slCaches

For Each MySheet In ActiveWorkbook.Worksheets

For Each MyPivot In MySheet.PivotTables

slCache.PivotTables.AddPivotTable MyPivot

Next MyPivot

Next MySheet

Next slCache

Sheets("Event").Select

Range("B12").Select

Selection.FormatConditions.Add Type:=xlCellValue, Operator:=xlLess, _

Formula1:="=$B$11*95%"

Selection.FormatConditions(Selection.FormatConditions.Count).SetFirstPriority

With Selection.FormatConditions(1).Interior

.PatternColorIndex = xlAutomatic

.Color = 49407

.TintAndShade = 0

End With

Selection.FormatConditions(1).StopIfTrue = False

Selection.FormatConditions(1).ScopeType = xlFieldsScope

Range("B11").Select

Selection.FormatConditions.Add Type:=xlCellValue, Operator:=xlLess, _

Formula1:="=$B$12"

Selection.FormatConditions(Selection.FormatConditions.Count).SetFirstPriority

With Selection.FormatConditions(1).Interior

.PatternColorIndex = xlAutomatic

.Color = 5296274

.TintAndShade = 0

End With

Selection.FormatConditions(1).StopIfTrue = False

Range("B13").Select

Selection.FormatConditions.Add Type:=xlCellValue, Operator:=xlGreater, _

Formula1:="=$B$12"

Selection.FormatConditions(Selection.FormatConditions.Count).SetFirstPriority

With Selection.FormatConditions(1).Interior

.PatternColorIndex = xlAutomatic

.Color = 255

.TintAndShade = 0

End With

Selection.FormatConditions(1).StopIfTrue = False

Selection.FormatConditions(1).ScopeType = xlFieldsScope

End Sub

Je vous remercie d'avance de votre aide ! Bonne journée

Rechercher des sujets similaires à "mise forme conditionnelle onglets"