Appliquer mise en forme TCD si modification filtres

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

lavosgienne22

XLDnaute Nouveau
Bonjour,

J'ai un TCD qui me pose des soucis de mise en forme. En effet, dès que je modifie les filtres sur les zones de ligne, il modifie ma mise en forme.
J'aurais voulu savoir comment lui demander d'appliquer la mise en forme dès qu'il y a modification ? Je compte faire une macro automatique, mais je suis débutante en vba et je ne sais pas comment formuler quelque chose du type "activer dès qu'il y a modification des filtres"

Sachant que cette fameuse mise en forme comprend une largeur de colonne et une mise en forme conditionnelle. Autre détail, mes zones de ligne sont nombreuses et sont susceptibles d'être toutes filtrées.

J'espère que je suis claire....

Merci d'avance
 
Re : Appliquer mise en forme TCD si modification filtres

J'ai exactement le même souci que toi. J'ai ramé un bon moment avant de venir faire un tour sur le forum. Pourrrais-tu m'aider en décrivant la macro que tu as créée afin que je puisse m'en inspirer.

merci d'avance
 
Re : Appliquer mise en forme TCD si modification filtres

Alors ma macro :

Code:
Private Sub Worksheet_Change(ByVal Target As Range)
    ActiveSheet.PivotTables("Tableau croisé dynamique1").PivotSelect _
' Ta mise en forme
        "Cotation[All]", xlLabelOnly + xlFirstRow, True
    Range("P27").Select
    Columns("P:P").ColumnWidth = 55.29
    ActiveSheet.PivotTables("Tableau croisé dynamique1").PivotSelect _
        "'Corrections associées'[All]", xlLabelOnly + xlFirstRow, True
    Selection.Rows.AutoFit
    ActiveSheet.PivotTables("Tableau croisé dynamique1").PivotSelect _
        "Cotation[All]", xlLabelOnly + xlFirstRow, True
    Selection.FormatConditions.Delete
    Selection.FormatConditions.Add Type:=xlCellValue, Operator:=xlGreaterEqual _
        , Formula1:="=$N$1+$N$2"
    Selection.FormatConditions(1).Interior.ColorIndex = 46
    Selection.FormatConditions.Add Type:=xlCellValue, Operator:=xlBetween, _
        Formula1:="=$N$1-$N$2", Formula2:="=$N$1+$N$2"
    Selection.FormatConditions(2).Interior.ColorIndex = 6
    Range("A5").Select
End Sub


Pour faire ça, quand tu vas dans la fenêtre vba tu sélectionnes "Microsoft Excel Objets" puis "FeuilX", là tu choisis "Worksheet" et la fonction "Change" (listes déroulantes en haut)
Et après tu colles ton bout de code avec les modifs à appliquer, dans mon code, c'est une largeur de colonne, un ajustement auto des lignes et une mise en forme conditionnelle.

Par contre il faut bien que ta page ne serve qu'à consulter le TCD, autrement ça va tout ralentir, parce que la macro se charge dès que le moindre changement est appliqué sur la page.

Voilà, si tu as besoin de plus de détails n'hésite pas.
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Réponses
25
Affichages
619
Réponses
6
Affichages
642
Réponses
2
Affichages
520
Retour