1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30
| Sub TestCalculerLeNombredEnseignesParProduit()
CalculerLeNombredEnseignesParProduit Sheets("Tbl"), Sheets("Tbl").PivotTables("Tableau croisé dynamique5")
End Sub
Sub CalculerLeNombredEnseignesParProduit(ByVal FeuilleEncours As Worksheet, ByVal Pvt As PivotTable)
Dim TitrePvt As Long
Dim DerniereLignePvt As Long
Dim PremiereColonneDonneesPvt As Long
Dim DerniereColonneDonneesPvt As Long
Dim AireCalculProduits As Range
Dim CelluleCalculProduits As Range
TitrePvt = Pvt.RowRange.Row
PremiereColonneDonneesPvt = Pvt.DataBodyRange.Column
DerniereColonneDonneesPvt = Pvt.DataBodyRange.Column + Pvt.DataBodyRange.Columns.Count - 1
DerniereLignePvt = Pvt.TableRange1.Row + Pvt.TableRange1.Rows.Count - 1
With FeuilleEncours
Set AireCalculProduits = .Range(.Cells(DerniereLignePvt + 1, PremiereColonneDonneesPvt), .Cells(DerniereLignePvt + 1, DerniereColonneDonneesPvt))
For Each CelluleCalculProduits In AireCalculProduits
CelluleCalculProduits.FormulaR1C1 = "=COUNTA(R[" & (TitrePvt + 1) - CelluleCalculProduits.Row & "]C:R[" & (DerniereLignePvt - 1) - CelluleCalculProduits.Row & "]C)"
Next CelluleCalculProduits
Set AireCalculProduits = Nothing
End With
End Sub |
Partager