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 31 32
| Sub creerClasseur(nomClasseur)
' *** Copie Feuille Résultat vers Nouveau Classeur ***
Sheets("Résultat").Select
Sheets("Résultat").Copy
L = 0
leType = Sheets("Résultat").Range("I2").Offset(L, 0).Value
ligneDebut = L + 2
While Sheets("Résultat").Range("I2").Offset(L, 0).Value <> ""
If leType <> Sheets("Résultat").Range("I2").Offset(L, 0).Value Then
' *** Création Nom Feuille ***
nomFeuille = Left(Sheets("Résultat").Range("I2").Offset(L - 1, 0).Value, 31)
' *** Création Tableau Croisé Dynamique ***
Call creerTableauDynamiqueCroise(nomFeuille, ligneDebut, L + 1)
ligneDebut = L + 2
leType = Sheets("Résultat").Range("I2").Offset(L, 0).Value
End If
L = L + 1
Wend
End Sub
Sub creerTableauDynamiqueCroise(nomFeuille, ligneDebut, ligneFin)
Dim PTCache As PivotCache
Dim PT As PivotTable
Set PTCache = ActiveWorkbook.PivotCaches.Create(SourceType:=xlDatabase, SourceData:=Sheets("Résultat").Range("A1:P1", "A" & ligneDebut & ":P" & ligneFin).Address)
Set PT = PTCache.CreatePivotTable(TableDestination:="", TableName:="Tableau croisé dynamique")
End Sub |
Partager