Bonjour,

Suite à une question sur ce point de la faq Comment tester si la touche Shift est actionnée à l'ouverture de la base ?
je mets un lien vers une base exemple.
C'est de l'Access 2007 enregistré au format 2000.

Le code venant de la faq Access se trouve dans le module de code modDemarrage.

L'unique formulaire de la base exemple affiche les options de démarrage et permet de les modifier.
Ce sont les cases à cocher se trouvant au dessus des deux boutons.

La case à cocher "Activer code Init() pour détecter la touche Shift" permet d'Activer/Inhiber le code de la faq.

Quelques mots sur ce code :
Ce code permet de détecter si la touche Shift (Maj) est appuyée.
Il n'est utile que si la propriété "AllowBypassKey" est à Faux.
C'est à dire si on a inhibé l'action de la touche Shift (Maj) au sein de la base de données.

Scénarios possibles en fonction de la valeur de la propriété AllowBypassKey et de l'état de la touche Shift (Maj) :
  • AllowBypassKey est à Vrai :
    • Touche Shift (Maj) appuyée
      • Access détecte que la touche Shift (Maj) est appuyée
      • la macro Autoexec n'est pas exécutée
      • Les options de démarrage sont ignorées

    • Touche Shift (Maj) relâchée
      • la macro Autoexec est exécutée si elle existe
      • Les options de démarrage sont prises en compte
  • AllowBypassKey est à Faux :
    • Touche Shift (Maj) appuyée
      • Access ingore l'état de la touche Shift (Maj).
        On est dans le cas Touche Shift (Maj) relâchée

    • Touche Shift (Maj) relâchée
      • la macro Autoexec est exécutée si elle existe
      • C'est ici qu'intervient le code le la faq, car la macro Autoexec va exécuter ce code
      • Les options de démarrage sont prises en compte

Le code de la faq ne permet pas d'ignorer les options de démarrage.
Il se contente de détecter si la touche Shift (Maj) est appuyée ou pas.
Ensuite on fait ce que l'on veut.
Dans le code de la faq, un mot de passe est demandé.
J'ai repris cela dans mon exemple. Si le mot de passe est mauvais la base est fermée,
sinon on affiche la fenêtre de base de données (volet d'exploration dans Access 2007).

A+