Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Total colonne tableau croisé dynamique

3 réponses
Avatar
Benoͮt
Bonjour,

On m'a posé un bon problème : comment faire en sorte qu'il n'y ait pas
de totaux dans une des colonnes.

La raison : si toutes les colonnes, sauf une sont des quantités et qu'un
total est justifiable, l'une d'elle est composée de pourcentage en
rapport avec d'autres données, son total est donc différent de 100%.

La seule solution trouvée, je ne sais plus o͹, est de mettre le texte de
ces totaux de la même couleur que celle de la cellule. Ça va une
fois, mais quand les données changent les totaux changent de ligne et
lÍ ...

Une idée (valide sur Mac) ?


Merci


--
Vie : n. f. Maladie mortelle sexuellement transmissible
benoit chez leraillez.com

3 réponses

Avatar
MichD
Le 15/11/20 Í  13:01, BenoÍ®t a écrit :
Bonjour,
On m'a posé un bon problème : comment faire en sorte qu'il n'y ait pas
de totaux dans une des colonnes.
La raison : si toutes les colonnes, sauf une sont des quantités et qu'un
total est justifiable, l'une d'elle est composée de pourcentage en
rapport avec d'autres données, son total est donc différent de 100%.
La seule solution trouvée, je ne sais plus o͹, est de mettre le texte de
ces totaux de la même couleur que celle de la cellule. Ça va une
fois, mais quand les données changent les totaux changent de ligne et
lÍ ...
Une idée (valide sur Mac) ?
Merci

Bonjour,
Je te fais une proposition qui fonctionne pour Excel. Je ne connais pas
Mac. À toi de tester.
Tu fais un clic droit sur l'onglet de la feuille o͹ est le TCD et tu
colles dans la page blanche, ce bout de code.
Tu dois adapter le nom du champ "Notes" pour celui de ladite colonne de
ton TDC.
Le nom de mon TDC est "MichD", Í  adapter selon ton environnement.
Pour mettre en couleur le champ, j'utilise cette ligne de code :
.DataRange.Font.Color = vbRed
Si tu préfères, tu peux employer la fonction RGB (R = rouge, G = vert, B
= bleu). Chaque paramètre peut prendre la valeur de 0 Í  255 aussi ceci :
.DataRange.Font.Color = Rgb(125,125,125)
Tu peux aussi utiliser "colorindex" Í  la place de "Color" avec une
valeur de 0 Í  55
À chaque fois que le TDC se met Í  jour, la procédure s'exécute.
'---------------------------
Private Sub Worksheet_PivotTableUpdate(ByVal Target As PivotTable)
If Target.Name = "MichD" Then
With Target.PivotFields("NOtes")
.DataRange.Font.Color = vbRed
End With
End If
End Sub
'---------------------------
MichD
Avatar
MichD
Le 15/11/20 Í  14:04, MichD a écrit :
Private Sub Worksheet_PivotTableUpdate(ByVal Target As PivotTable)
If Target.Name = "MichD" Then
    With Target.PivotFields("NOtes")
        .DataRange.Font.Color = vbRed
    End With
End If
End Sub

J'apporte une précision, si tu désires que seul le nombre affiché dans
la ligne "grand total" du champ soit mis en couleur, utilise plutÍ´t ceci.
Cela dépend de ce que tu veux comme couleur dans ce champ.
Attention s'il y a des lignes coupées par le service de messagerie.
'-----------------------------
Private Sub Worksheet_PivotTableUpdate(ByVal Target As PivotTable)
With Target
If .Name = "MichD" Then
With .PivotFields("Notes")
'Aucune couleur dans la plage du champ Notes (couleur par
défaut)
.DataRange.Font.Color = 0
'Couleur du nombre grand total du champ notes
.DataRange.Offset(.DataRange.Cells.Count).Resize(1).Font.Color = vbYellow
End With
End If
End With
End Sub
'-----------------------------
MichD
Avatar
Benoͮt
Le 15 novembre 2020, MichD a raconté :
Le 15/11/20 Í  14:04, MichD a écrit :
Private Sub Worksheet_PivotTableUpdate(ByVal Target As PivotTable)
If Target.Name = "MichD" Then
With Target.PivotFields("NOtes")
.DataRange.Font.Color = vbRed
End With
End If
End Sub

J'apporte une précision, si tu désires que seul le nombre affiché dans
la ligne "grand total" du champ soit mis en couleur, utilise plutÍ´t ceci.
Cela dépend de ce que tu veux comme couleur dans ce champ.
Attention s'il y a des lignes coupées par le service de messagerie.
'-----------------------------
Private Sub Worksheet_PivotTableUpdate(ByVal Target As PivotTable)
With Target
If .Name = "MichD" Then
With .PivotFields("Notes")
'Aucune couleur dans la plage du champ Notes (couleur par
défaut)
.DataRange.Font.Color = 0
'Couleur du nombre grand total du champ notes
..DataRange.Offset(.DataRange.Cells.Count).Resize(1).Font.Color = vbYellow
End With
End If
End With
End Sub
'-----------------------------

Merci pour tout (avec beaucoup de retard dÍ» Í  d'autres pbs)
Je vais en rester Í  la modification «Â Í  la main ». Le TCD étant rarement
mis Í  jour plus d'une fois par mois on effectuera la modification Í 
la main. Dommage qu'on ne puisse gérer les totaux et sous-totaux par
colonne, ou par ligne.
--
Vie : n. f. Maladie mortelle sexuellement transmissible
benoit chez leraillez.com