OVH Cloud OVH Cloud

Empêcher de modifier Item dans le champ de page d'un TCD?

3 réponses
Avatar
René Delcourt
Bonjour,
En plus de cliquer sur un item de champ de page, excel accepte l'entrée
manuelle.
En soi, cela ne me dérange pas.
Par contre, lorsque l'utilisateur tape "zaza" alors que les items sont
"1","2" et"3", excel propose de remplacer un item par zaza.
Il y a certainement dans la besace d'un maître excel-VBA une commande qui
empêche ce désagrément. Laquelle?
Merci et bon dimanche
--
René Delcourt

3 réponses

Avatar
michdenis
Bonjour René,

Je te ferai remarqué que ce n'est pas la seule chose que l'on peut modifier manuellement dans un TCD. Si tu es à ce point préoccupé
par ce que font les usagers, tu protèges ta feuille et tu modifies ton TCD par macro.

C'est possible de cette façon : Attention, le fait de désactiver ce champ, enlève la possibilité d'utiliser le filtre sur ce champ.
Cependant, rien n'empêche de modifier l'item du champ page par macro.

'-------------------------
Sub DesactiveCurrentPageTCD111()

With Worksheets("Feuil1")
With .PivotTables(1)
.PivotFields("Ville").EnableItemSelection = False
End With
End With
End Sub
'-------------------------


Pour modifier l'item du champ page lorsque le champ page est désactivé :

ActiveSheet.PivotTables("Tableau croisé dynamique1").PivotFields("ville"). _
CurrentPage = "Valeur désirée"


Salutations!


"René Delcourt" a écrit dans le message de news:
Bonjour,
En plus de cliquer sur un item de champ de page, excel accepte l'entrée
manuelle.
En soi, cela ne me dérange pas.
Par contre, lorsque l'utilisateur tape "zaza" alors que les items sont
"1","2" et"3", excel propose de remplacer un item par zaza.
Il y a certainement dans la besace d'un maître excel-VBA une commande qui
empêche ce désagrément. Laquelle?
Merci et bon dimanche
--
René Delcourt
Avatar
René Delcourt
Merci de ta réponse.
Tu me propose de carrément désactiver le choix des items.
Il doivent cependant rester accessibles.
Mon problème se situe ici :
Par contre, lorsque l'utilisateur tape "zaza" (dans la cellule du pagefield) alors que >les items sont
"1","2" et"3", excel propose de remplacer un item par zaza.
"1","2" et"3" doivent rester accessibles.

--
René Delcourt



Bonjour René,

Je te ferai remarqué que ce n'est pas la seule chose que l'on peut modifier manuellement dans un TCD. Si tu es à ce point préoccupé
par ce que font les usagers, tu protèges ta feuille et tu modifies ton TCD par macro.

C'est possible de cette façon : Attention, le fait de désactiver ce champ, enlève la possibilité d'utiliser le filtre sur ce champ.
Cependant, rien n'empêche de modifier l'item du champ page par macro.

'-------------------------
Sub DesactiveCurrentPageTCD111()

With Worksheets("Feuil1")
With .PivotTables(1)
.PivotFields("Ville").EnableItemSelection = False
End With
End With
End Sub
'-------------------------


Pour modifier l'item du champ page lorsque le champ page est désactivé :

ActiveSheet.PivotTables("Tableau croisé dynamique1").PivotFields("ville"). _
CurrentPage = "Valeur désirée"


Salutations!


"René Delcourt" a écrit dans le message de news:
Bonjour,
En plus de cliquer sur un item de champ de page, excel accepte l'entrée
manuelle.
En soi, cela ne me dérange pas.
Par contre, lorsque l'utilisateur tape "zaza" alors que les items sont
"1","2" et"3", excel propose de remplacer un item par zaza.
Il y a certainement dans la besace d'un maître excel-VBA une commande qui
empêche ce désagrément. Laquelle?
Merci et bon dimanche
--
René Delcourt





Avatar
michdenis
Bonjour René,

Tu as essayé de seulement protégé ta feuille comme je te le suggérais dans mon message précédent !

Dans le module feuille où est placé ton TCD

Range("C9") est la cellule contenant ton "CurrentPage"

'--------------------------------
Private Sub Worksheet_SelectionChange(ByVal Target As Range)

If Target.Address = Range("C9").Address Then
Me.Protect "toto"
Else
Me.Unprotect "toto"
End If

End Sub
'--------------------------------


Salutations!



"René Delcourt" a écrit dans le message de news:
Merci de ta réponse.
Tu me propose de carrément désactiver le choix des items.
Il doivent cependant rester accessibles.
Mon problème se situe ici :
Par contre, lorsque l'utilisateur tape "zaza" (dans la cellule du pagefield) alors que >les items sont
"1","2" et"3", excel propose de remplacer un item par zaza.
"1","2" et"3" doivent rester accessibles.

--
René Delcourt



Bonjour René,

Je te ferai remarqué que ce n'est pas la seule chose que l'on peut modifier manuellement dans un TCD. Si tu es à ce point
préoccupé
par ce que font les usagers, tu protèges ta feuille et tu modifies ton TCD par macro.

C'est possible de cette façon : Attention, le fait de désactiver ce champ, enlève la possibilité d'utiliser le filtre sur ce
champ.
Cependant, rien n'empêche de modifier l'item du champ page par macro.

'-------------------------
Sub DesactiveCurrentPageTCD111()

With Worksheets("Feuil1")
With .PivotTables(1)
.PivotFields("Ville").EnableItemSelection = False
End With
End With
End Sub
'-------------------------


Pour modifier l'item du champ page lorsque le champ page est désactivé :

ActiveSheet.PivotTables("Tableau croisé dynamique1").PivotFields("ville"). _
CurrentPage = "Valeur désirée"


Salutations!


"René Delcourt" a écrit dans le message de news:
Bonjour,
En plus de cliquer sur un item de champ de page, excel accepte l'entrée
manuelle.
En soi, cela ne me dérange pas.
Par contre, lorsque l'utilisateur tape "zaza" alors que les items sont
"1","2" et"3", excel propose de remplacer un item par zaza.
Il y a certainement dans la besace d'un maître excel-VBA une commande qui
empêche ce désagrément. Laquelle?
Merci et bon dimanche
--
René Delcourt