Problème code VBA pour un tableau croisé dynamique

J'ai besoin en code vba d'ajouter ou d'enlever des champs pivot ! (pivots fields)

    ActiveSheet.PivotTables("Tableau SNG").PivotFields("Type").Orientation = _
        xlHidden

    ActiveSheet.PivotTables("Tableau SNG").PivotFields("Format").Orientation = _
        xlHidden

etcc. j'ai de nombreux champs pivots différents !

problème j'ai besoin de vérifier l'existence ou non de ce champs avant de le cacher ou de l'activer ...

si le chanp pivot existe alors.... sinon ne rien faire et passer à la suite !

bonjour,

vous pouvez ajouter "on error resume next" avant votre code et "on error goto 0" après. Alors si le pivotfield n'existe pas, il ne se passe rien. La ligne avec "If Err.number ..." n'est pas nécessaire.

Sub test()
     On Error Resume Next

     ActiveSheet.PivotTables("Tableau SNG").PivotFields("Type").Orientation = xlHidden
     If Err.Number <> 0 Then MsgBox Err.Number & vbLf & Err.Description, , "probleme TCD: Type": Err.Clear

     ActiveSheet.PivotTables("Tableau SNG").PivotFields("Format").Orientation = xlHidden
     If Err.Number <> 0 Then MsgBox Err.Number & vbLf & Err.Description, , "probleme TCD : Format": Err.Clear

     On Error GoTo 0
End Sub

Merci beaucoup pour la réponse rapide !

Ca marche impeccable !

Rechercher des sujets similaires à "probleme code vba tableau croise dynamique"