Masquage des entrées dans une InputBox (Microsoft Excel)
Andrew est en train d’écrire une macro et il veut donner aux utilisateurs la possibilité de saisir leur mot de passe avant de leur permettre d’utiliser certaines fonctions fournies par la macro. Il utilise la fonction InputBox et se demande s’il existe un moyen de « rayer » tout ce que quelqu’un entre, de sorte que le mot de passe reste privé au fur et à mesure qu’il est tapé. (Ceci est fait dans de nombreux programmes, où tout ce qui est tapé est remplacé à l’écran par des astérisques ou un autre caractère.)
Il n’existe aucun moyen direct de le faire en utilisant la fonction InputBox; il n’inclut pas les fonctionnalités nécessaires. Il y a des gens qui l’ont fait en utilisant des appels d’API et autres, mais cela devient plutôt impliqué et – selon toute vraisemblance – au-delà de la portée de ExcelTips.
Une approche plus simple consiste à créer votre propre UserForm dans VBA. Le formulaire peut contenir un TextBox et le contrôle inclut une propriété que vous pouvez définir pour fonctionner comme un caractère de masquage lorsque quelqu’un entre un mot de passe. Si vous affichez la fenêtre des propriétés du contrôle TextBox, vous verrez une propriété nommée PasswordChar. Définissez-le sur le caractère que vous souhaitez utiliser pour le masquage. Par exemple, vous pouvez mettre un seul astérisque dans la propriété.
Lorsque vient le temps de vérifier si l’utilisateur a entré le mot de passe correct, il vous suffit de vérifier la valeur dans le contrôle TextBox; il sera « clair » (non masqué), tandis que la version à l’écran reste masquée. En d’autres termes, si quelqu’un entre « MyPass » comme mot de passe, alors c’est la valeur associée au contrôle lui-même.
Cependant, ce qui s’affiche à l’écran, ce sont six astérisques (ou tout autre caractère de masquage que vous avez spécifié), un pour chaque lettre tapée.
_Note: _
Si vous souhaitez savoir comment utiliser les macros décrites sur cette page (ou sur toute autre page des sites ExcelTips), j’ai préparé une page spéciale qui comprend des informations utiles.
lien: / excelribbon-ExcelTipsMacros [Cliquez ici pour ouvrir cette page spéciale dans un nouvel onglet de navigateur]
.
ExcelTips est votre source pour une formation Microsoft Excel rentable.
Cette astuce (3120) s’applique à Microsoft Excel 97, 2000, 2002 et 2003.