Re : Dans TCD, tester l'existence d'un champ
Bonsoir Pierrot, bonsoir Chris,
Pierrot : je ne suis plus sur l'ordi de tout à l'heure donc je ne peux pas renvoyer le fichier en version .xls ou 2003 : je le pourrai demain matin.
Chris : merci pour ton code. Je suis confronté au même problème que tout à l'heure, à savoir il détecte tout le temps la présence du champ "genre", même si objectivement, il n'y est plus. Il n'y a que dans une feuille sans TCD qu'il me renvoie un "chmp n'existe pas".
C'est tout de même très instructif car entre temps, j'avais bricolé le code suivant, qui grâce à un on error resume next ne plante pas mais applique quand même la largeur à 150 quand il n'y a plus le champ "genre", et ce à une colonne apparemment quelconque :
Sub régler_colonne_genre()
Dim sh As Long
For sh = 1 To Sheets.Count
Sheets(sh).Select
If ActiveSheet.PivotTables.Count > 0 Then
On Error Resume Next 'ici pour "contourner" le problème
ActiveSheet.PivotTables("Tableau croisé dynamique1").PivotFields("Genre").LabelRange.Select
With Selection
.ColumnWidth = 150
End With
End If
Next
End Sub
... donc Chris, ton code me conforte dans l'idée que oui, les onglets comportent bien le champ "genre", même si enlevé au préalable (comme en témoigne la mise à 150 d'une colonne par feuille, qu'elle ait ou pas le champ "genre" : si champ "genre" présent, c'est cette colonne qui est mise à 150, si non, colonne quelconque).
Y a-t-il une sorte de "mémoire" ?
Ai-je mal positionné l'instruction ON ERROR RESUME NEXT dans le bout de code ci-dessus ?
Merci pour votre sagacité