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 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68
| Sub TC_pi()
'
' TC_pi Macro
' Macro enregistrée le 12/03/2010
'
'positionnement sur la feuille Base Listing en A1
Sheets("Base Listing").Select
Range("A1").Select
Selection.CurrentRegion.Select
'Tri par ordre croissant des communes
Selection.Sort Key1:=Range("a2"), Order1:=xlAscending, Header:=xlGuess, _
OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom
' Création d'un Tableau croisé Dynamique Variable
DerniereLigne = Range("A1").End(xlDown).Row
ActiveWorkbook.PivotCaches.Add(SourceType:=xlDatabase, SourceData:= _
"'Base Listing'!R1C1:R" & DerniereLigne & "C4").CreatePivotTable TableDestination:="", _
TableName:="Tableau croisé dynamique3"
ActiveSheet.PivotTableWizard TableDestination:=ActiveSheet.Cells(1, 1)
ActiveSheet.Cells(1, 1).Select
ActiveSheet.PivotTables("Tableau croisé dynamique3").SmallGrid = False
ActiveSheet.PivotTables("Tableau croisé dynamique3").AddFields RowFields:= _
"Commune"
ActiveSheet.PivotTables("Tableau croisé dynamique3").PivotFields("Commune"). _
Orientation = xlDataField
'renommer la feuille du tc (n°2) en "TC"
Sheets(2).Name = "TC"
' Selection du tableau et Copier/Collage spacial "valeur"
Range("A1").Select
ActiveCell.CurrentRegion.Select
Selection.Copy
Selection.PasteSpecial Paste:=xlValues, Operation:=xlNone, SkipBlanks:= _
False, Transpose:=False
' Suppression des 2 ere lignes "inutiles"
Rows("1:2").Select
Selection.Delete Shift:=xlUp
Range("A1").Select
' definir le nombre de commune en D1
Nb_Commune = WorksheetFunction.CountA(Range("a:a")) - 1
Range("D1").Select
ActiveCell = Nb_Commune
' Définir le nombre d'onglet à créer en fonction du nombre de communes
Range("a1").Select
For i = 1 To Nb_Commune
Sheets.Add
Sheets(2).Name = i 'à la place du i ' la place du i je dois dire de prendre la premiere valeur du tableau croisé
Next
Dim Nom_feuille As String
'selectionner la liste des communes (colonne a:a)
' Renommer chaque onglet avec les noms des communes
' Copier la base du tableau pour le pré-remplissage dans chaque onglet
' copier les données de chaque commune
End Sub |
Partager