Bienvenue sur le forum !

La fonction Environ("USERNAME" ) renvoie déjà le nom d'utilisateur Windows (dans l'exemple : Durand). Donc la fonction OuvrirFormulaire() peut se résumer à ceci :
Langage: Visual Basic
span class="st0">"frmDémarrage""[txtUtilisateur]=';""USERNAME") & "';"
Les 2 apostrophes sont importantes dans le code (et il ne faut pas d'espaces autour de ces apostrophes).
Une fois cette fonction tapée, dans un module standard, il y a une façon simple de la tester :
1. Placer le curseur quelque part dans la fonction.
2. Cliquer sur l'icône "Exécuter Sub/UserForm" (le triangle vert en haut de Visual Basic Editor).
Ça devrait ouvrir le formulaire, filtré sur le nom d'utilisateur. Si cet utilisateur n'existe pas dans la table ou n'a pas de données, le Form_Open va par contre prendre le relais et annuler l'ouverture.
Si ça marche, on pourra ensuite s'occuper de l'AutoExec. 
S'il y a plusieurs utilisateurs, et qu'ils se connectent dans une session différente de Windows, Environ("USERNAME" ) donnera leur nom respectif. Il n'y a rien à changer de ce côté.
Ouala !
-- Hervé Inisan.