Bonjour,
J'aimerai grouper des dates dans un TCD mais cela ne fonctionne pas.
J'ai déclaré les deux variables DateSeldeb et DateSelFin qui changement en fonction des périodes de l'année.
J'ai essayé plusieurs "regroupement" il doit certainement manquer quelque chose.
Le message d'erreur est Erreur d'exécution 1004 : la méthode Group de la classe range a échoué.
On groupe la sélection
'Selection.Group Start:=True, End:=True, Periods:=Array(False, False, False, _
False, True, False, False)
Selection.Group Start:=45139, End:=45504, Periods:=Array(False, False, _
False, False, True, False, True)
Le code pour la création du TCD
Et un fichier test.
J'ai laissé le format que je souhaiterai avoir.
Merci d'avance pour l'aide apportée.
Cordialement
J'aimerai grouper des dates dans un TCD mais cela ne fonctionne pas.
J'ai déclaré les deux variables DateSeldeb et DateSelFin qui changement en fonction des périodes de l'année.
J'ai essayé plusieurs "regroupement" il doit certainement manquer quelque chose.
Le message d'erreur est Erreur d'exécution 1004 : la méthode Group de la classe range a échoué.
On groupe la sélection
'Selection.Group Start:=True, End:=True, Periods:=Array(False, False, False, _
False, True, False, False)
Selection.Group Start:=45139, End:=45504, Periods:=Array(False, False, _
False, False, True, False, True)
Le code pour la création du TCD
VB:
On effectue le TCD
lRow = 1
ptCount = 1
' On créé le TCD sur le même onglet
ActiveWorkbook.PivotCaches.Create(SourceType:=xlDatabase, SourceData:= _
"Autorisation", Version:=xlPivotTableVersion15).CreatePivotTable _
TableDestination:=ActiveSheet.Cells(1, 27), TableName:="AutoAE", _
DefaultVersion:=xlPivotTableVersion15
' On ajoute le champs ligne DATES DE REVISION
With ActiveSheet.PivotTables("AutoAE").PivotFields("Dates de révision")
.Orientation = xlRowField
.Position = 1
End With
' On ajoute le champ colonne CALCUL DU NOMBRE D'ECHUS
ActiveSheet.PivotTables("AutoAE").AddDataField ActiveSheet.PivotTables("AutoAE" _
).PivotFields("Echus à échoir"), "Nombre de Echus à échoir", xlCount
With ActiveSheet.PivotTables("AutoAE").PivotFields("Echus à échoir")
.Orientation = xlPageField
.Position = 1
End With
' On efface les tris
ActiveSheet.PivotTables("AutoAE").PivotFields("Echus à échoir").ClearAllFilters
' On effectue un tri sur "A Echoir"
ActiveSheet.PivotTables("AutoAE").PivotFields("Echus à échoir").CurrentPage = _
"A échoir"
' On effectue un tri sur "TRI"
With ActiveSheet.PivotTables("AutoAE").PivotFields("Tri")
.Orientation = xlPageField
.Position = 1
End With
' On efface les tris
ActiveSheet.PivotTables("AutoAE").PivotFields("Tri").ClearAllFilters
' On effectue un tri sur "TRI" valeur à N
ActiveSheet.PivotTables("AutoAE").PivotFields("Tri").CurrentPage = "N"
' On sélectionne la période selon les valeurs définies DateSelDeb et DateSelFin
ActiveSheet.PivotTables("AutoAE").PivotFields("Dates de révision").PivotFilters _
.Add2 Type:=xlDateBetween, Value1:=DateSelDeb, Value2:=DateSelFin
' On groupe la sélection et cela ne fonctionne pas
'Selection.Group Start:=True, End:=True, Periods:=Array(False, False, False, _
False, True, False, False)
Selection.Group Start:=45139, End:=45504, Periods:=Array(False, False, _
False, False, True, False, True)
Range("AA5").Select
Selection.Group Start:=DateSelDeb, End:=DateSelFin, Periods:=Array(False, False, _
False, False, True, False, True)
' Mise en forme des données
ActiveSheet.PivotTables("AutoAE").RowAxisLayout xlTabularRow
ActiveSheet.PivotTables("AutoAE").RepeatAllLabels xlRepeatLabels
Et un fichier test.
J'ai laissé le format que je souhaiterai avoir.
Merci d'avance pour l'aide apportée.
Cordialement
Pièces jointes
Dernière édition: