Private Sub Worksheet_PivotTableUpdate(ByVal Target As PivotTable)
If Target.Name <> "TCD_Vente" Then Exit Sub 'Sortir si ce n'est pas le TCD qui nous intéresse
Dim NbLgn As Long, Lgns As Long, R As Long, C1%, nbC%, adr1$, adr2$
With Target
R1 = .DataBodyRange.Row 'Première ligne de données du TCD
NbLgn = .DataBodyRange.Rows.Count - IIf(Target.RowGrand, 1, 0) 'Nombre de lignes de données (hors ligne total général)
C1 = Target.TableRange1.Column 'Première colonne du TCD
nbC = Target.TableRange1.Columns.Count 'Nbre de colonnes du TCD
End With
'Vidage et redimensionnement du TS
With [Tb_Rappel]
.Clear 'Effacement données et formats
.ListObject.Resize .ListObject.Range.Resize(NbLgn + 1) 'Redimensionnement du TS
.ListObject.Range.Cut Destination:=Me.Cells(R1 - 1, C1 + nbC).Resize(NbLgn + 1) 'Repositionnement du TS si modifs dans le TS
End With
'Formule et alignement du texte dans le TS ([Tb_Rappel] a changé
With [Tb_Rappel]
.ListObject.DataBodyRange.FormulaR1C1 = "=IF(ISNUMBER(MATCH(RC" & C1 & ",tb_BdD[Marque],0)),RC" & C1 & ",R[-1]C)"
.HorizontalAlignment = xlLeft
.VerticalAlignment = xlCenter
.WrapText = False
.IndentLevel = 1
End With
'Ajout du format conditionnel
adr1 = Me.Cells(R1, C1).Address(RowAbsolute:=False) 'Adresse utilisé dans la formule de la MFC
adr2 = [Tb_Rappel].Cells(1).Address(RowAbsolute:=False) 'Adresse utilisé dans la formule de la MFC
[Tb_Rappel].Cells(1).Activate 'Activation de la 1ère cellule du TS
'MFC : rehaussement des lignes total de la marque
With [Tb_Rappel].FormatConditions.Add(Type:=xlExpression, Formula1:="=(" & adr1 & "<>"""")*(" & adr2 & "=" & adr1 & ")")
.Font.Bold = True
.Interior.Color = 16247773
End With
End Sub