Désactiver les raccourcis claviers et autres

[Résolu/Fermé]
Signaler
Messages postés
576
Date d'inscription
mardi 5 août 2008
Statut
Membre
Dernière intervention
18 septembre 2021
-
Messages postés
8539
Date d'inscription
dimanche 13 juin 2010
Statut
Membre
Dernière intervention
20 juillet 2021
-
Bonjour à tous,

Depuis ce matin j'ai fait pas mal de forum ici et ailleurs et même si je commence à avoir une petite idée je n'ai pas toutes les réponses. Dans un classeur je souhaiterais pouvoir désactiver un certain nombre de chose pour rendre obligatoire l'utilisation des boutons qui s'y trouvent.
A quoi servirait le masquage de la barre de menu si les raccourcis clavier restent actifs ?
En clair, afficher le classeur avec uniquement la barre de titre et en ayant supprimer tous les raccourcis clavier.
L'idée est de désactiver à l'ouverture du classeur et de rétablir à la fermeture dans une procédure ThisWorkbook mais pour cela j'ai besoin de vous et je souhaiterais savoir comment faire pour :
- Désactiver tous les raccourcis clavier.
- Désactiver les touches fonctions.
- Désactiver les touches Ctrl, Alt, Majuscule ...
- Désactiver les trois boutons (réduire, restaurer, fermer).
- Quelles sont les précautions à prendre pour être certain que la configuration d'Excel (de 2003 à 2010) sera correctement rétablie tout en sachant que ce classeur sera utilisé par plusieurs dizaine de personnes sur des PC perso.

Merci d'avance pour votre aide.
Cordialement
Mistral
A voir également:

16 réponses

Messages postés
576
Date d'inscription
mardi 5 août 2008
Statut
Membre
Dernière intervention
18 septembre 2021
3
N'y a t il personne pour m'aider?
1
Merci

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

CCM 42674 internautes nous ont dit merci ce mois-ci

Messages postés
16511
Date d'inscription
lundi 12 septembre 2005
Statut
Contributeur
Dernière intervention
19 septembre 2021
3 221
Bonjour

un exemple pour quelques raccourcis

Sub Desactive_Raccourci()
    With Application
        .OnKey "^c", ""
        .OnKey "^v", ""
        .OnKey "^x", ""
        .OnKey "^x", ""
        .OnKey "^{INSERT}", ""
        .OnKey "+{INSERT}", ""
        .OnKey "+{DEL}", ""
        .CellDragAndDrop = False
    End With
End Sub

Sub Active_Raccourci()
    With Application
        .OnKey "^c"
        .OnKey "^v"
        .OnKey "^x"
        .OnKey "^x"
        .OnKey "^{INSERT}"
        .OnKey "+{INSERT}"
        .OnKey "+{DEL}"
        .CellDragAndDrop = True
    End With
End Sub


un tuto sur les raccourcis clavier pour applel de macro
https://www.cjoint.com/?3JwkmZt3ktl

Tu as la méthode, une liste des raccourcis, à toi de voir pour le reste... mais, avis et expérience perso, ce que tu veux faire est casse-g....
Messages postés
24182
Date d'inscription
mardi 11 septembre 2007
Statut
Contributeur
Dernière intervention
19 septembre 2021
6 886
Bonjour,

J'abonde dans le sens de michel sur sa dernière phrase.
Très dangereux et tu vas te faire haïr.
Le jour ou ta macro plantera (ou excel tout seul, ça lui arrive) les utilisateurs se retrouveront avec un excel inutilisable. Et la loi de Murphy veut que ça arrivera pendant ton trekking au népal où tu seras injoignable pendant 3 semaines...
Si tu persistes, fait en sorte que le classeur s'ouvre toujours sur la même page où tu auras mis un bouton 'rétablir' les menus'.
Le mieux est quand même de laisser les utilisateurs maitres de leurs choix et responsables.

Et si tu demandes de l'aide en déposant ton fichier, précise que ta macro désactive les menus pour mettre en garde les helpeurs. Qu'on sache qu'il ne faut pas t'aider si on ne maitrise pas ( et même en maitrisant, on n'a pas envie de prendre trop de risque)...

eric
Messages postés
576
Date d'inscription
mardi 5 août 2008
Statut
Membre
Dernière intervention
18 septembre 2021
3
Bonjour Michel,
Bonjour Eric,

Merci pour vos réponses.
Je sais que ce que je veux faire comporte des risques et qu'effectivement je ne suis pas à l'abris d'une coupure secteur ou d'un plantage d'Excel.
Cela fait un an que j'ai mis ce classeur à disposition simplement protégé par un PW et ça n'a pas empêché des modifs sauvages qui ont compromis l'intégrité d'utilisation et après c'est moi qui m'y colle. Et je ne parle pas de mon patron...

Eric:
Je n'avais pas envisagé le bouton de restauration mais pourquoi pas, même si je pense qu'il n'est pas vraiment utile car j'ai fait l'essai suivant :
- Plantage d'Excel par coupure secteur et effectivement à l'ouverture suivante d'Excel (seul) je retrouve Excel comme au moment du plantage sans menu sans rien.
- Par contre si je relance le classeur depuis le DD, mon classeur s'ouvre et je peux le quitter par le "Bouton" prévu à cet effet et là je retrouve Excel normalement à l'ouverture suivante.
Michel:
Pourrais-tu détailler la procédure "With" et les touches concernées.

Cordialement
Mistral
Messages postés
24182
Date d'inscription
mardi 11 septembre 2007
Statut
Contributeur
Dernière intervention
19 septembre 2021
6 886
même si je pense qu'il n'est pas vraiment utile car j'ai fait l'essai suivant
A condition de mettre à un endroit visible la procédure à suivre.
Et pas dit que si l'utilisateur ouvre excel 2 jours après l'incident il fasse le lien avec ton fichier...
De plus ton fichier peut s'être vérolé, un fichier annexe de restauration ne ferait pas de mal.

Et s'ils ont réussi à enlever la protection je ne vois pas en quoi ôter les menus les empêchera de recommencer. C'est une mauvaise raison
Comme quoi explications, éducation et confiance sont plus efficaces, je n'ai pas de problème de cet ordre avec mes utilisateurs.

eric
Messages postés
16511
Date d'inscription
lundi 12 septembre 2005
Statut
Contributeur
Dernière intervention
19 septembre 2021
3 221
Bonjour

With....end with constriut un "bloc". toute méthode ou propriété a l'intérieur de ce bloc fait référence à l'objet; ici l'objet application (ailleurs: range, worksheet, etc)
on a ainsi une meilleure lisibilité du code et un gain appréciable de rapidité

quant aux onkey, je t'ai remis un tuto dans ma réponse

de toutes façons, tu peux écrire toutes les macros que tu veux, un appui maintenu sur la touche maj combinée avec la demande d'ouverture du classeur désactive les macros

le vrai problème est surtout un problème de relations entre collègues mal géré par ton patron
Messages postés
576
Date d'inscription
mardi 5 août 2008
Statut
Membre
Dernière intervention
18 septembre 2021
3
Re,

Autrement dit, il est totalement illusoire de vouloir protéger un classeur si on part du principe qu'il y aura toujours des personnes mal veillante pour faire sauter les protections.
Dans ces conditions autant laisser notre travail totalement ouvert et d'informer les utilisateurs que toute modification sera puni d'un licenciement pour faute grave...
Je caricature bien évidement, mais se pose la question de l'utilité, de la part de Microsoft, de mettre des protections qui ne résiste pas plus quelles ne le font actuellement.
Michel tu écris :
«de toutes façons, tu peux écrire toutes les macros que tu veux, un appui maintenu sur la touche maj combinée avec la demande d'ouverture du classeur désactive les macros».
Je ne connaissais pas cette astuce mais dans ce cas c'est toutes les macros du projet qui sont désactivées ? Et de quelle touche majuscule s'agit-il, celle de gauche ou de droite ou encore celle de verrouillage majuscule ?
Messages postés
24182
Date d'inscription
mardi 11 septembre 2007
Statut
Contributeur
Dernière intervention
19 septembre 2021
6 886
De toute façon l'utilisateur à toute latitude de refuser que les macros s'exécutent et c'est heureux (via le niveau de sécurité des macros).
Si tu veux je te fais une macro qui supprime tous les .doc et .xls.
Tu serais content de microsoft si tu n'avais aucun moyen de contrôler auparavant le classeur en désactivant les macros s'il s'agit d'une source que tu ne connais pas ?
eric
Messages postés
8539
Date d'inscription
dimanche 13 juin 2010
Statut
Membre
Dernière intervention
20 juillet 2021
1 692
Bonjour,

Je suis 100% d'accord avec les conseils de responsabilisation d'Éric et de Michel.

Pour ma part, je ne mets jamais de mot de passe (en général on l'a oublié que on veut l'enlever !) sur une feuille protégée : la protection ne s'enlève pas toute seule !!!. A chacun ses responsabilités.

De toute façon, quelle que soit la protection, il y aura toujours un petit futé pour l'enlever ! Tu ne pourras jamais sécuriser totalement un classeur. Il vaut mieux laisser à l'utilisateur un maximum de liberté d'expression et éviter la dictature.

Par contre, as -tu pensé à partager le classeur : tu resterais maître de l'acceptation ou du refus des modifications.
Messages postés
576
Date d'inscription
mardi 5 août 2008
Statut
Membre
Dernière intervention
18 septembre 2021
3
Messieurs je me range à vos arguments et je vais suivre vos précieux conseils.

Par contre pouvez-vous m'en dire plus sur le partage des classeurs, dont parle patrice, car je ne connais pas du tout.

Cordialement
Mistral
Messages postés
8539
Date d'inscription
dimanche 13 juin 2010
Statut
Membre
Dernière intervention
20 juillet 2021
1 692
Messages postés
576
Date d'inscription
mardi 5 août 2008
Statut
Membre
Dernière intervention
18 septembre 2021
3
Bonjour à vous trois,

Merci Patrice pour ce lien sur le partage des classeurs.

Michell a écrit :
"de toutes façons, tu peux écrire toutes les macros que tu veux, un appui maintenu sur la touche maj combinée avec la demande d'ouverture du classeur désactive les macros"
Mais je n'arrive pas au résultat décrit pouvez-vous m'expliquer la procédure exacte?
D'autre part cette manipe déactive toutes les macros, ou uniquement celles lancée au démarrage?

Cordialement
Mistral
Messages postés
8539
Date d'inscription
dimanche 13 juin 2010
Statut
Membre
Dernière intervention
20 juillet 2021
1 692
Bonjour,

Lorsqu'un classeur est partagé, le suivi des modifications permet de savoir qui a fait quoi depuis la dernière acceptation des modifications.
L'intérêt principal du partage est la possibilité de pouvoir travailler en réseau, à plusieurs sur le même fichier simultanément.
Mais il n'est pas obligatoire de travailler en réseau pour utiliser le partage : tu peux déclarer un classeur comme classeur partagé et l'envoyer à quelqu'un. Lorsqu'il te le restitue, tu verras les modifications effectuées.
Messages postés
576
Date d'inscription
mardi 5 août 2008
Statut
Membre
Dernière intervention
18 septembre 2021
3
Bonjour à tous,

Dans un des messages ci-dessus Michel disait que l'on pouvait empécher lelancement des macros à l'ouverture d'un classeur Excel il disait :
"un appui maintenu sur la touche maj combinée avec la demande d'ouverture du classeur désactive les macros"
J'ai essayé de plusieurs façon différent mais je n'y suis jamais arrivé.
- Quelle touche utiliser? Celle avec le cadenas ou celle avec une fléche vers le haut et dans ce cas celle de droite ou de gauche?
- Excel doit il être ouvert avant?
- On ouvre le classeur depuis un repertoire ou depuis la liste dans Excel?
- Faut-il d'abord appuyer sur la touche et lancer l'ouverture du classeur ou l'inverse?

Pouvez-vous m'aider car j'en peu plus de tourner en rond.
D'avance merci.
Cordialement.
Albert
Messages postés
8539
Date d'inscription
dimanche 13 juin 2010
Statut
Membre
Dernière intervention
20 juillet 2021
1 692
Les deux touches majuscules sont celles avec une flèche vers le haut situées au dessus de chaque touche Ctrl. Elle ont toutes les deux le même effet. Comme les touches Ctrl elles ne fonctionnent pas seules, elles doivent être combinées avec une autre action (touche ou souris).

La touche avec le cadenas est la touche Verrouillage en majuscule. Cette touche provoque deux état du clavier (Normal ou Verrouillé en majuscule). Elle n'est jamais utilisée en combinaison.

Avec Excel fermé, le maintien d'une des deux touches majuscule appuyée (avant et) pendant le double clic sur un fichier contenant des macros empêche le lancement de ces dernières.

Mais pour compléter les propos de Michel, il est aussi toujours possible d'élever le niveau de sécurité des macros pour empêcher leur exécution.
Messages postés
576
Date d'inscription
mardi 5 août 2008
Statut
Membre
Dernière intervention
18 septembre 2021
3
Bonjour Patrice,

J'ai lu avec attention ton message et j'ai fait des essais mais je suis au regret de te dire que chez moi ça ne marche pas. Pourquoi, j'en sais rien!

J'ai essayé avec les deux touches, gauche et droite, l'une après l'autre, et un double clic sur un fichier Xls dans mon répertoire de travail et j'ai toujours ma procédure Private Sub Workbook_Open qui s'execute à l'ouverture du classeur.

De deux choses l'une ou j'ai un soucis sur mon PC ou alors c'est moi qui ne comprends rien ...

Je tiens à préciser que, dans Excel, ces touches fonctionnent parfaitement car je sais passer de minusucle à majuscule sans problème.

As-tu une idée de mon problème.
Cordialement
Mistral
Messages postés
16511
Date d'inscription
lundi 12 septembre 2005
Statut
Contributeur
Dernière intervention
19 septembre 2021
3 221
Bonjour

cela marchait sur XL2000, peut-^tre 2003, mais c'est effectivement inopérant sur 2007
Messages postés
8539
Date d'inscription
dimanche 13 juin 2010
Statut
Membre
Dernière intervention
20 juillet 2021
1 692
Chez moi ça marche avec 2007, ça dépend peut-être du niveau de sécurité des macro.
Je n'accepte que les macros signées numériquement et sur une macro de ce type, ça fonctionne !
Messages postés
576
Date d'inscription
mardi 5 août 2008
Statut
Membre
Dernière intervention
18 septembre 2021
3
Re,

Je travaille avec Windows XP Pro SP3 et Excel 2003 et là est peut être l'explication.
Dans ce cas, y a t il un moyen pour interdir les macros à l'ouverture d'un classeur?
Comment fait-on avec excel 2007 ou 2010?
Merci d'avance.
Cordialement.
Mistral
Messages postés
24182
Date d'inscription
mardi 11 septembre 2007
Statut
Contributeur
Dernière intervention
19 septembre 2021
6 886
Bonjour,

sur excel 2003 :
'outils / options... / sécurité / sécurité des macros' mettre 'niveau moyen'.
Tu es averti à l'ouverture du classeur s'il y a des macros, et tu les acceptes ou non.

eric
Messages postés
8539
Date d'inscription
dimanche 13 juin 2010
Statut
Membre
Dernière intervention
20 juillet 2021
1 692
Bonjour,

Sur 2007 :
Bouton Office / options Excel / Centre de gestion de la confidentialité / Paramètres du centre de gestion de la confidentialité / Paramètres des macros
2 options possibles :
- Interdire toutes les macros avec notification
- Interdire toutes les macros sans notification

Pour ma part, j'ai opté pour le compromis :
- Désactiver toutes les macro à l'exception des macros signées numériquement.
Cela désactive toutes les macros d'origine douteuse, il suffit de les signer pour les essayer, ce qui oblige à passer par le VBE et donc permet de jeter un oeil avant d'accepter l'exécution.

Patrice
Messages postés
576
Date d'inscription
mardi 5 août 2008
Statut
Membre
Dernière intervention
18 septembre 2021
3
Bonjour Patrice,
Bonjour Eriiic,

Pour ma part je suis avec Excel 2003 et un niveau de sécurité "basse" sur les macros.
Eric:
"Tu es averti à l'ouverture du classeur s'il y a des macros, et tu les acceptes ou non" C'est exacte mais si tu refuses les macros, tu les refuses toutes et le classeur ne fonctionne pas sans.

Patrice :
Comment fais-tu pour signer numériquement une macro?
C'est quoi le VBE?

En tout cas merci à vous deux car je découvre cet aspect d'Excel seulement maintenant.
Cordialement
Mistral
Messages postés
8539
Date d'inscription
dimanche 13 juin 2010
Statut
Membre
Dernière intervention
20 juillet 2021
1 692
Bonjour

VBE : Visual Basic Editor
C'est l'éditeur VBA auquel on accède par Outils/Macro/Visual Basic Editor ou Alt+F11 ou encore Clic droit sur un onglet/Visualiser le code.

Création de la signature numérique
Sous environnement XP, VISTA ou Windows7 pour Microsoft Office 2003 et 2007 :
- Bouton Démarrer.
- Dans Tous les programmes / Microsoft Office / Outils Microsoft Office.
- Puis sur Certificat numérique pour les projets VBA.

Dans la fenêtre de l'assistant
Dans le champ "Nom de votre certificat", saisir un nom simple que l'on souhaite donner à sa signature, par ex. son pseudo.
Lorsque le message de confirmation du certificat s'affiche, cliquer sur OK.

Maintenant il est possible de signer nos codes
Sous Environnement Microsoft Excel 2000 et 2003
1 - Ouvrir le fichier Excel contenant un code macro. (A l'ouverture, activer les macros, Outils > Macros > Sécurité > Onglet "Niveau de sécurité" > cocher le niveau moyen).
2 - Outils/Macro/Visual Basic Editor ou Alt+F11.
3 - Dans la barre des menus du Visual Basic Editor : Outils > Signature Électronique > cliquer sur choisir > puis sur le nom de sa signature et OK.
4 - Enregistrer et fermer le fichier : à l'ouverture les macros s'activeront automatiquement.

Sécurité améliorée
Il est possible d'augmenter la sécurité au niveau élevé (Outils > Macros > Sécurité > cocher Élevé).
Enregistrer et fermer le fichier.
A l'ouverture du premier fichier utilisant la signature numérique une boite de dialogue proposera d'activer les macros :
Avant d'activer les macros, cocher l'option "Faire toujours confiance aux macros venant de cet éditeur".
Activer les macros.
Enregistrer et fermer le fichier.