cela semble une question étrange et j'espère qu'il y a une explication simple comme j'ai oublié quelque chose ... mais quoi?Pourquoi PivotTable.EnableFieldList supprime-t-il la mise en forme conditionnelle?
J'ai du code qui crée heureusement un tableau croisé dynamique, puis lui applique une mise en forme conditionnelle. Je dois admettre, le bit mise en forme conditionnelle est pas le plus élégant que je viens recopié d'une macro enregistrée, mais il fait le travail:
Range("I:I").Select
Selection.FormatConditions.Add Type:=xlExpression, Formula1:= _
"=VALUE(TEXT(OFFSET(I1,0,-1),""#,###""))>0"
Selection.FormatConditions(Selection.FormatConditions.Count).SetFirstPriority
With Selection.FormatConditions(1).Interior
.PatternColorIndex = xlAutomatic
.ThemeColor = xlThemeColorAccent3
.TintAndShade = 0.599963377788629
End With
Selection.FormatConditions(1).StopIfTrue = False
Aujourd'hui, je décide d'ajouter quelque chose au code pour désactiver certaines fonctionnalité de la table pivotante - Je souhaite empêcher les utilisateurs d'accéder à la liste des champs. J'ai ajouté le ci-dessous, qui a lieu juste après la section mise en forme conditionnelle:
With ActiveSheet.PivotTables(1)
.EnableFieldList = False
End With
Tout à coup, quand je le lance avec le nouvel ajout, la mise en forme conditionnelle est perdu! Pas une cellule colorée en vue. Il désactive la liste des champs avec succès, donc au moins il y a ça. Des idées du tout?
Le problème avec l'application CF comme c'est qu'il est écrasé lorsque le rafraîchissement de tableau croisé dynamique. Vous devriez ajouter les règles CF à des champs spécifiques de la table pivot, si possible. – Rory
Merci, Rory. Ce tableau pivotant particulier n'est pas censé être actualisé - la feuille de calcul et le pivot sont créés à partir de zéro chaque fois que le code est exécuté - mais est-il possible qu'il soit actualisé sans que je le lui ait dit? (Je sais que je n'ai pas collé le code complet ici, mais je suppose que ma question est, existe-t-il des fonctions qui impliquent un rafraîchissement même si ce n'est pas explicitement déclaré?) –
Oui cela ressemble à désactiver la liste des champs provoque un rafraîchissement de la table , qui supprime le CF de cette partie de la colonne. – Rory