Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

déactiver la commande "Trier"

5 réponses
Avatar
PAN GOT
Bonjour,

Je cherche à réaliser les deux actions suivantes, ne sachant pas encore
quelle solution je vais retenir :

L'utilisateur est dans une feuille qu'on appellera « Numero »



1 action:

Désactiver la commande du menu « Données/Trier » quand l'utilisateur est
dans cette feuille, rétablir cette commande quand on quitte la feuille ou le
classeur.



2 action:

Empêcher la sauvegarde du fichier si la commande a été utilisée quand l'utilisateur
était dans cette feuille.



Quelqu'un aurait-il des idées ?

D'avance, merci.

Patrick

5 réponses

Avatar
FdeCourt
Salut,

En protégeant ta feuille et en n'autorisant pas le tri.
C'est probablement la solution la plus simple.

Cordialement,

F.
Avatar
michdenis
Bonjour,

C'est simple si tu es sur une version antérieure à 2007.
Si besoin fais signe.




"PAN GOT" a écrit dans le message de groupe de discussion
:
Bonjour,

Je cherche à réaliser les deux actions suivantes, ne sachant pas encore
quelle solution je vais retenir :

L'utilisateur est dans une feuille qu'on appellera « Numero »



1 action:

Désactiver la commande du menu « Données/Trier » quand l'utilisateur est
dans cette feuille, rétablir cette commande quand on quitte la feuille ou le
classeur.



2 action:

Empêcher la sauvegarde du fichier si la commande a été utilisée quand l'utilisateur
était dans cette feuille.



Quelqu'un aurait-il des idées ?

D'avance, merci.

Patrick
Avatar
PAN GOT
Bonjour ,

Je suis sous 2003 et je n'ai pas mis de protection de feuille parce qu'elle
est normalement remplie par une application en VBA. Mais quelques fois, il
faut pouvoir aller faire des recherches et des modifications directement
dans cette feuille.

L'un des utilisateurs a trouvé plus simple de faire un tri sans se poser
plus de question. Je perds juste l'historique et c'est pour éviter que cela
se reproduise après avoir remit le fichier en forme.

C'est pourquoi je pencherais plutôt sur la première solution, c'est à dire
de "griser" la fonction de tri lorsque l'on est dans cette feuille.

La deuxième solution serait plutôt retenue si sa mise en ouvre était plus
simple que la premiere.

D'avance, merci.




"michdenis" a écrit dans le message de news:

Bonjour,

C'est simple si tu es sur une version antérieure à 2007.
Si besoin fais signe.




"PAN GOT" a écrit dans le message de
groupe de discussion
:
Bonjour,

Je cherche à réaliser les deux actions suivantes, ne sachant pas encore
quelle solution je vais retenir :

L'utilisateur est dans une feuille qu'on appellera « Numero »



1 action:

Désactiver la commande du menu « Données/Trier » quand l'utilisateur est
dans cette feuille, rétablir cette commande quand on quitte la feuille ou
le
classeur.



2 action:

Empêcher la sauvegarde du fichier si la commande a été utilisée quand
l'utilisateur
était dans cette feuille.



Quelqu'un aurait-il des idées ?

D'avance, merci.

Patrick

Avatar
michdenis
Ce qui suit devrait être valide pour Excel 97 à 2003 inclus.

Dans le code module feuille où l'action se déroule, copie ceci :
La commande sera désactivée seulement lorsque ladite feuille
sera la feuille active.

'-----------------------------
Private Sub Worksheet_Activate()
With Application.CommandBars
.Item(1).FindControl(ID:’8, Recursive:=True).Enabled = False
End With
End Sub
'-----------------------------
Private Sub Worksheet_Deactivate()
With Application.CommandBars
.Item(1).FindControl(ID:’8, Recursive:=True).Enabled = True
End With
End Sub
'-----------------------------

Et dans le ThisWorkbook de ton classeur, copie ceci :
'------------------------------
Private Sub Workbook_Deactivate()
With Application.CommandBars
.Item(1).FindControl(ID:’8, Recursive:=True).Enabled = True
End With
End Sub
'------------------------------



"PAN GOT" a écrit dans le message de groupe de discussion
:
Bonjour ,

Je suis sous 2003 et je n'ai pas mis de protection de feuille parce qu'elle
est normalement remplie par une application en VBA. Mais quelques fois, il
faut pouvoir aller faire des recherches et des modifications directement
dans cette feuille.

L'un des utilisateurs a trouvé plus simple de faire un tri sans se poser
plus de question. Je perds juste l'historique et c'est pour éviter que cela
se reproduise après avoir remit le fichier en forme.

C'est pourquoi je pencherais plutôt sur la première solution, c'est à dire
de "griser" la fonction de tri lorsque l'on est dans cette feuille.

La deuxième solution serait plutôt retenue si sa mise en ouvre était plus
simple que la premiere.

D'avance, merci.




"michdenis" a écrit dans le message de news:

Bonjour,

C'est simple si tu es sur une version antérieure à 2007.
Si besoin fais signe.




"PAN GOT" a écrit dans le message de
groupe de discussion
:
Bonjour,

Je cherche à réaliser les deux actions suivantes, ne sachant pas encore
quelle solution je vais retenir :

L'utilisateur est dans une feuille qu'on appellera « Numero »



1 action:

Désactiver la commande du menu « Données/Trier » quand l'utilisateur est
dans cette feuille, rétablir cette commande quand on quitte la feuille ou
le
classeur.



2 action:

Empêcher la sauvegarde du fichier si la commande a été utilisée quand
l'utilisateur
était dans cette feuille.



Quelqu'un aurait-il des idées ?

D'avance, merci.

Patrick

Avatar
PAN GOT
nickel, çà marche. J'ai juste rajouté un CTRL sur la feuille active à
l'ouverture du fichier.
Merci beaucoup et bonne journée à tous.


"michdenis" a écrit dans le message de news:

Ce qui suit devrait être valide pour Excel 97 à 2003 inclus.

Dans le code module feuille où l'action se déroule, copie ceci :
La commande sera désactivée seulement lorsque ladite feuille
sera la feuille active.

'-----------------------------
Private Sub Worksheet_Activate()
With Application.CommandBars
.Item(1).FindControl(ID:’8, Recursive:=True).Enabled = False
End With
End Sub
'-----------------------------
Private Sub Worksheet_Deactivate()
With Application.CommandBars
.Item(1).FindControl(ID:’8, Recursive:=True).Enabled = True
End With
End Sub
'-----------------------------

Et dans le ThisWorkbook de ton classeur, copie ceci :
'------------------------------
Private Sub Workbook_Deactivate()
With Application.CommandBars
.Item(1).FindControl(ID:’8, Recursive:=True).Enabled = True
End With
End Sub
'------------------------------



"PAN GOT" a écrit dans le message de
groupe de discussion
:
Bonjour ,

Je suis sous 2003 et je n'ai pas mis de protection de feuille parce
qu'elle
est normalement remplie par une application en VBA. Mais quelques fois, il
faut pouvoir aller faire des recherches et des modifications directement
dans cette feuille.

L'un des utilisateurs a trouvé plus simple de faire un tri sans se poser
plus de question. Je perds juste l'historique et c'est pour éviter que
cela
se reproduise après avoir remit le fichier en forme.

C'est pourquoi je pencherais plutôt sur la première solution, c'est à dire
de "griser" la fonction de tri lorsque l'on est dans cette feuille.

La deuxième solution serait plutôt retenue si sa mise en ouvre était plus
simple que la premiere.

D'avance, merci.




"michdenis" a écrit dans le message de news:

Bonjour,

C'est simple si tu es sur une version antérieure à 2007.
Si besoin fais signe.




"PAN GOT" a écrit dans le message de
groupe de discussion
:
Bonjour,

Je cherche à réaliser les deux actions suivantes, ne sachant pas encore
quelle solution je vais retenir :

L'utilisateur est dans une feuille qu'on appellera « Numero »



1 action:

Désactiver la commande du menu « Données/Trier » quand l'utilisateur est
dans cette feuille, rétablir cette commande quand on quitte la feuille ou
le
classeur.



2 action:

Empêcher la sauvegarde du fichier si la commande a été utilisée quand
l'utilisateur
était dans cette feuille.



Quelqu'un aurait-il des idées ?

D'avance, merci.

Patrick