Chris,
merci de t’être penché sur ma question.
En fait, je ne me suis probablement pas exprimé clairement
Dans le fichier joint, il n’y a qu’un seul TCD mais potentiellement, des dizaines, d’où le besoin de tous les parcourir et donc le
For sh = 1 To Sheets.Count …
De plus, je ne cherche pas à l’avoir en événement mais à déclencher la macro à la demande, d’où mon besoin d’une sub() et pas d’une Private sub()
Mais le plus important pour moi :
- Je veux neutraliser la sélection du champ « pays » UNIQUEMENT si Pays est en PAGE (c’est-à-dire en haut à gauche)
Dans le nouveau fichier joint, dans TCD2 ou TCD3, le filtre « Pays » n’est pas en champ PAGE donc je ne veux pas intervenir dans ces deux cas.
Ce qui m’étonne, c’est que l’enregistreur de macros me dit que le champ PAGE s’appelle
datalabelRange mais bizarrement, ça plante quand je mets en œuvre ce terme !
En résumé :
Dans TCD1 : « Pays » est en Page donc j’applique
pf.EnableItemSelection = False
Dans TCD2 : « Pays » n’est pas en Page donc je ne verrouille pas (idem TCD3)
Encore merci pour ton aide