dans des tcd, j'ai besoin de tester la présence éventuelle d'un champ (ici, le champ trim)
Quand le tcd ne présente QUE ce champ, ça marche, mais quand j'ai une combinaison, le test échoue
Par combinaison, j'entends que l'étiquette de colonnes contient plus d'un champ (ici trimestre et mois)
Ca foire quelque soit l'odre dans lequel apparaîssent les champs (trimestre puis champ ou champ puis trimestre)
Y a-t-il une instruction permettant d'identifier la présence d'un champ, quelque soit le nombre de champs ?
Autrement dit, si le champ trimestre existe, même parmi n autres champs …
En pièce jointe un petit fichier qui permettra de mieux comprendre
Ci-dessous le code
Code:
Sub PivotField_Existe()
Dim pt As PivotTable, pf As PivotField
Set pt = ActiveSheet.PivotTables(1)
For Each pf In pt.ColumnFields
If pf.Name = "Trim" Then
MsgBox "il y a bien un champ trimestre"
' instructions suivent mais pas l'objet de ce fil ...
Else
MsgBox "désolé, champ trimestre absent"
' instructions suivent mais pas l'objet de ce fil ...
Exit For
End If
Next pf
End Sub
Re : Comment tester la présence d'un PivotField dans un tcd ?
Re,
j'ai essayé à nouveau sur le fichier joint hier, dans l'onglet où il n'y a pas le champ Trim et je ne remonte pas de message.
Mais autant utiliser le code dont tu es certain.
Re : Comment tester la présence d'un PivotField dans un tcd ?
Re,
test avec "bidon"
Code:
Option Explicit
Sub test_Pierrot()
If champExiste("BIDON") Is Nothing Then MsgBox "champ existe et visible"
End Sub
Function champExiste(p As String) As PivotField
On Error Resume Next
Set champExiste = ActiveSheet.PivotTables(1).HiddenFields(p)
End Function