Bonjour,
J'ai crée une macro qui crée un tableau croise dynamique avec des filtres sur les filtres de rapport en enlevant les taches "recherches" et "reporting client"
Cependant j'ai peur que le jour ou je n'ai pas de "recherches" ou "reporting client" j'ai une erreur sur la macro
comment peut on faire pour eviter un "bug" lorsque ces taches ne sont pas dans l'onglet de base.
Ci dessous une partie de la macro ( creer depuis excel et non pas ecrite ) avec en rouge les lignes correspondantes a ma demande
vous remerciant par avance pour votre compréhension.
cordialement
Sub Detail_CRA_V2()
'
' Detail cra V2 exclaunt num CE et detail des impayés
'
'
Selection.CurrentRegion.Select
Application.CutCopyMode = False
Sheets.Add
ActiveWorkbook.PivotCaches.Create(SourceType:=xlDatabase, SourceData:= _
"Feuil1!R7C1:R2500C7", Version:=xlPivotTableVersion10).CreatePivotTable _
TableDestination:="Feuil4!R3C1", TableName:="Tableau croisé dynamique1", _
DefaultVersion:=xlPivotTableVersion10
Sheets("Feuil4").Select
Cells(3, 1).Select
With ActiveSheet.PivotTables("Tableau croisé dynamique1").PivotFields( _
"Client Projet")
.Orientation = xlRowField
.Position = 1
End With
ActiveSheet.PivotTables("Tableau croisé dynamique1").AddDataField ActiveSheet. _
PivotTables("Tableau croisé dynamique1").PivotFields("Nb. Heures"), _
"Nombre de Nb. Heures", xlCount
With ActiveSheet.PivotTables("Tableau croisé dynamique1").PivotFields( _
"Nombre de Nb. Heures")
.Caption = "Somme de Nb. Heures"
.Function = xlSum
End With
With ActiveSheet.PivotTables("Tableau croisé dynamique1").PivotFields( _
"Traitement")
.Orientation = xlPageField
.Position = 1
End With
With ActiveSheet.PivotTables("Tableau croisé dynamique1").PivotFields("Tâche")
.Orientation = xlPageField
.Position = 1
End With
ActiveSheet.PivotTables("Tableau croisé dynamique1").PivotFields("Traitement"). _
CurrentPage = "(All)"
With ActiveSheet.PivotTables("Tableau croisé dynamique1").PivotFields( _
"Traitement")
.PivotItems("Back Office (BO)").Visible = False
.PivotItems("GEIDE (GEID)").Visible = False
End With
ActiveSheet.PivotTables("Tableau croisé dynamique1").PivotFields("Traitement"). _
EnableMultiplePageItems = True
ActiveSheet.PivotTables("Tableau croisé dynamique1").PivotFields("Tâche"). _
CurrentPage = "(All)"
With ActiveSheet.PivotTables("Tableau croisé dynamique1").PivotFields("Tâche")
.PivotItems("Recherches (RECHERCHE)").Visible = False
.PivotItems("Reporting Client (REPORT_CLI)").Visible = False
End With
ActiveSheet.PivotTables("Tableau croisé dynamique1").PivotFields("Tâche"). _
EnableMultiplePageItems = True
With ActiveSheet.PivotTables("Tableau croisé dynamique1").PivotFields( _
"Client Projet")
.PivotItems("CE Caisse d'Epargne").Visible = False
.PivotItems("(blank)").Visible = False
End With
J'ai crée une macro qui crée un tableau croise dynamique avec des filtres sur les filtres de rapport en enlevant les taches "recherches" et "reporting client"
Cependant j'ai peur que le jour ou je n'ai pas de "recherches" ou "reporting client" j'ai une erreur sur la macro
comment peut on faire pour eviter un "bug" lorsque ces taches ne sont pas dans l'onglet de base.
Ci dessous une partie de la macro ( creer depuis excel et non pas ecrite ) avec en rouge les lignes correspondantes a ma demande
vous remerciant par avance pour votre compréhension.
cordialement
Sub Detail_CRA_V2()
'
' Detail cra V2 exclaunt num CE et detail des impayés
'
'
Selection.CurrentRegion.Select
Application.CutCopyMode = False
Sheets.Add
ActiveWorkbook.PivotCaches.Create(SourceType:=xlDatabase, SourceData:= _
"Feuil1!R7C1:R2500C7", Version:=xlPivotTableVersion10).CreatePivotTable _
TableDestination:="Feuil4!R3C1", TableName:="Tableau croisé dynamique1", _
DefaultVersion:=xlPivotTableVersion10
Sheets("Feuil4").Select
Cells(3, 1).Select
With ActiveSheet.PivotTables("Tableau croisé dynamique1").PivotFields( _
"Client Projet")
.Orientation = xlRowField
.Position = 1
End With
ActiveSheet.PivotTables("Tableau croisé dynamique1").AddDataField ActiveSheet. _
PivotTables("Tableau croisé dynamique1").PivotFields("Nb. Heures"), _
"Nombre de Nb. Heures", xlCount
With ActiveSheet.PivotTables("Tableau croisé dynamique1").PivotFields( _
"Nombre de Nb. Heures")
.Caption = "Somme de Nb. Heures"
.Function = xlSum
End With
With ActiveSheet.PivotTables("Tableau croisé dynamique1").PivotFields( _
"Traitement")
.Orientation = xlPageField
.Position = 1
End With
With ActiveSheet.PivotTables("Tableau croisé dynamique1").PivotFields("Tâche")
.Orientation = xlPageField
.Position = 1
End With
ActiveSheet.PivotTables("Tableau croisé dynamique1").PivotFields("Traitement"). _
CurrentPage = "(All)"
With ActiveSheet.PivotTables("Tableau croisé dynamique1").PivotFields( _
"Traitement")
.PivotItems("Back Office (BO)").Visible = False
.PivotItems("GEIDE (GEID)").Visible = False
End With
ActiveSheet.PivotTables("Tableau croisé dynamique1").PivotFields("Traitement"). _
EnableMultiplePageItems = True
ActiveSheet.PivotTables("Tableau croisé dynamique1").PivotFields("Tâche"). _
CurrentPage = "(All)"
With ActiveSheet.PivotTables("Tableau croisé dynamique1").PivotFields("Tâche")
.PivotItems("Recherches (RECHERCHE)").Visible = False
.PivotItems("Reporting Client (REPORT_CLI)").Visible = False
End With
ActiveSheet.PivotTables("Tableau croisé dynamique1").PivotFields("Tâche"). _
EnableMultiplePageItems = True
With ActiveSheet.PivotTables("Tableau croisé dynamique1").PivotFields( _
"Client Projet")
.PivotItems("CE Caisse d'Epargne").Visible = False
.PivotItems("(blank)").Visible = False
End With