Modification d'une Macro

vidou

XLDnaute Junior
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
 

mth

XLDnaute Barbatruc
Re : Modification d'une Macro

Bonjour,

A tout hasard ne pouvant pas tester:

Code:
[COLOR=blue]On Error Resume Next[/COLOR]
With ActiveSheet.PivotTables("Tableau croisé dynamique1").PivotFields("Tâche")
[COLOR=red].PivotItems("Recherches (RECHERCHE)").Visible = False[/COLOR]
[COLOR=red].PivotItems("Reporting Client (REPORT_CLI)").Visible = False[/COLOR]
End With
[COLOR=blue]On Error Goto 0[/COLOR]

Merci d'utiliser la balise de code prévue pour ça ... au moment de poster, tu as dans la fenêtre de message en haut vers la droite les balises, dont celle ci :#, ceci inscrira au début de ton code ceci:
Code:
[/SIZE] 
 
Sans ces balises ton code à plat est illisible ;)
 
Bien à toi,
 
mth
 

Discussions similaires

Statistiques des forums

Discussions
312 023
Messages
2 084 715
Membres
102 637
dernier inscrit
TOTO33000