Mise en forme dans un tcd

enzo

XLDnaute Nouveau
Bonsoir a tous

j'ai une liste (ligne colonne) basique avec laquelle je cree un tcd. jusque là rien de problematique

il faut que sur une des colonnes du TCD, la mise en forme police soit differente des autres colonnes dudit TCD.
je change donc la police sur la colonne et ca marche. mais a la premiere mise à jour la police se remet comme a l'origine et ce, pas sur toutes les cellules. evidemment, l'option "garder la mise en forme" est cochée.

je cherche depuis plusieurs jours et je m'en remet a vous maintenant.

en vous remerciant par avance,

Rémy
 

enzo

XLDnaute Nouveau
Re : Mise en forme dans un tcd

merci de l'interet porté a mon probleme

ci joint le fichier

les cellulle sulignées en jaune sont en police widdings. des que l'on fait la mise a jour du TCD elle repassent avec la police générale.

a bientot
 

Pièces jointes

  • ANALYSE_XLD.xlsx
    31.1 KB · Affichages: 44

MJ13

XLDnaute Barbatruc
Re : Mise en forme dans un tcd

Bonour Enzo, Gillus

Tu peux tester cette macro à mettre dans la feuille TCD:

Code:
Private Sub Worksheet_PivotTableUpdate(ByVal Target As PivotTable)
 With Range("G4:H1000").Font
        .Name = "Wingdings"
        .Size = 11
        .Strikethrough = False
        .Superscript = False
        .Subscript = False
        .OutlineFont = False
        .Shadow = False
        .Underline = xlUnderlineStyleNone
        .ThemeColor = xlThemeColorLight1
        .TintAndShade = 0
        .ThemeFont = xlThemeFontNone
    End With
End Sub
 

MJ13

XLDnaute Barbatruc
Re : Mise en forme dans un tcd

Re

Il faut accepter les macros.

Ou sinon, voici le code à mettre dans la feuille TCD :):

Code:
Private Sub Worksheet_PivotTableUpdate(ByVal Target As PivotTable)    
Application.ScreenUpdating = False
    p = 0
    ligne = Cells(2, 4).End(xlDown).Row
    Colfin = Cells(ligne, 1).End(xlToRight).Column
    For n = 1 To Colfin
        If Left(Cells(ligne, n), 10) <> "DATE RESA/" Then ColAtraiter = n: p = p + 1: GoTo suite1
        If Left(Cells(ligne, n), 10) = "DATE RESA/" Then ColAtraiter = n: p = p + 1: GoTo suite2
suite3:
    Next
    Application.ScreenUpdating = True
    'MsgBox p
    Exit Sub
suite1:
    With Range(Cells(ligne + 1, ColAtraiter), Cells(ligne + 1000, ColAtraiter)).Font
        .Name = "Calbri"
        .Size = 11
        '.Strikethrough = False
        '.Superscript = False
        '.Subscript = False
        '.OutlineFont = False
        '.Shadow = False
        '.Underline = xlUnderlineStyleNone
        '.ThemeColor = xlThemeColorLight1
        '.TintAndShade = 0
        '.ThemeFont = xlThemeFontNone
    End With
    GoTo suite3


suite2:
    With Range(Cells(ligne + 1, ColAtraiter), Cells(ligne + 1000, ColAtraiter)).Font
        .Name = "Wingdings"
        .Size = 11
        '.Strikethrough = False
        '.Superscript = False
        '.Subscript = False
        '.OutlineFont = False
        '.Shadow = False
        '.Underline = xlUnderlineStyleNone
        '.ThemeColor = xlThemeColorLight1
        '.TintAndShade = 0
        '.ThemeFont = xlThemeFontNone
    End With
    GoTo suite3
End Sub
 

Discussions similaires

Statistiques des forums

Discussions
312 400
Messages
2 088 086
Membres
103 710
dernier inscrit
amin Saadaoui