IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

  1. #1
    Inactif  
    Avatar de ouskel'n'or
    Profil pro
    Inscrit en
    février 2005
    Messages
    12 464
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : février 2005
    Messages : 12 464
    Points : 15 247
    Points
    15 247
    Par défaut [VBA-*]Boîte de dialogue "mot de passe" ds userform ou InputBox
    Question récurrente : Comment saisir un mot de passe
    Réponse récurrente : En passant par un userform
    USF Mot de passe.zip
    Pour insérer l'userform dans un projet :
    Placer les deux fichiers joints "quelque part" sur votre disque dur
    Dans l'éditeur VB, sélectionner votre projet -> clic droit -> Importer -> Chercher l'emplacement des deux fichier -> MotDePasse.frm -> Ok !
    Épicétou
    La Boîte : Nom : mot de passe.JPG
Affichages : 9849
Taille : 8,0 Ko
    Pour l'appeler depuis une macro :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    Load MotDePasse
    MotDePasse.show
    Dans la macro, le code qui suit éventuellement ces lignes ne s'éxécutera qu'une fois la boîte de dialogue fermée (fermeture prévue dans la boîte...)

    NB - Pour plus de sécurité, changer le mot de passe donné en exemple

  2. #2
    Inactif  
    Avatar de ouskel'n'or
    Profil pro
    Inscrit en
    février 2005
    Messages
    12 464
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : février 2005
    Messages : 12 464
    Points : 15 247
    Points
    15 247
    Par défaut InputBox contre Userform ^^^
    Dadavyvy me signale également un code ici, qui permet d'utiliser un Inputbox à la place d'un userform pour la saisie des mots de passe, le code saisi apparaissant ici aussi sous forme de "*"

  3. #3
    Modérateur
    Avatar de AlainTech
    Homme Profil pro
    Consultant informatique
    Inscrit en
    mai 2005
    Messages
    4 235
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 67
    Localisation : Belgique

    Informations professionnelles :
    Activité : Consultant informatique
    Secteur : Finance

    Informations forums :
    Inscription : mai 2005
    Messages : 4 235
    Points : 24 287
    Points
    24 287
    Par défaut
    On dirait bien qu'on a ça chez nous:
    http://www.developpez.net/forums/sho...70&postcount=6
    N'oubliez pas de cliquer sur quand vous avez obtenu ou trouvé vous-même la réponse à votre question.
    Si vous trouvez seul, pensez à poster votre solution. Elle peut servir à d'autres!
    Pensez aussi à voter pour les réponses qui vous ont aidés.
    ------------
    Je dois beaucoup de mes connaissances à mes erreurs!

  4. #4
    Membre confirmé
    Profil pro
    Inscrit en
    octobre 2006
    Messages
    393
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : octobre 2006
    Messages : 393
    Points : 451
    Points
    451
    Par défaut
    Coool! ce forum est décidément bien complet...
    Par contre quand j'ai fait ma recherche Google, ça n'est pas ressorti...

    Mots-clés : InputBox & PasswordChar, InputBoxEx, InputBoxDK

  5. #5
    Modérateur
    Avatar de AlainTech
    Homme Profil pro
    Consultant informatique
    Inscrit en
    mai 2005
    Messages
    4 235
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 67
    Localisation : Belgique

    Informations professionnelles :
    Activité : Consultant informatique
    Secteur : Finance

    Informations forums :
    Inscription : mai 2005
    Messages : 4 235
    Points : 24 287
    Points
    24 287
    Par défaut
    J'ai ajouté tes mots clés dans la discussion en question.
    N'oubliez pas de cliquer sur quand vous avez obtenu ou trouvé vous-même la réponse à votre question.
    Si vous trouvez seul, pensez à poster votre solution. Elle peut servir à d'autres!
    Pensez aussi à voter pour les réponses qui vous ont aidés.
    ------------
    Je dois beaucoup de mes connaissances à mes erreurs!

  6. #6
    Candidat au Club
    Inscrit en
    octobre 2008
    Messages
    3
    Détails du profil
    Informations forums :
    Inscription : octobre 2008
    Messages : 3
    Points : 3
    Points
    3
    Par défaut
    le code écrit par Daniel Klann (proposition de dadavyvy) fonctionne sans aucun problème avec l'inputbox

    En revanche celui écrit par mossy69vb6 (propostion d'AlainTech) pose un problème d'activeX non reconnu par VBE (je n'ai pas trouvé la solution).

  7. #7
    Nouveau membre du Club
    Homme Profil pro
    Secrétaire - Service Cantonal de la jeunesse (VS-CH)
    Inscrit en
    mai 2013
    Messages
    25
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : Secrétaire - Service Cantonal de la jeunesse (VS-CH)
    Secteur : Service public

    Informations forums :
    Inscription : mai 2013
    Messages : 25
    Points : 36
    Points
    36
    Par défaut
    Bonjour je me permet de venir vous aider avec un code que j'utilisai dans un ancien fichier excel. Il semblerait qu'il ai été écrit par un certain Daniel Klann, vivant en allemagne.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    'Module pour inputbox pour les mots de pass
    Option Explicit
    'Code geschrieben von Daniel Klann
    Private Declare Function CallNextHookEx Lib "user32" (ByVal hHook As Long, _
    ByVal nCode As Long, ByVal wParam As Long, lParam As Any) As Long
    Private Declare Function GetModuleHandle Lib "kernel32" Alias "GetModuleHandleA" (ByVal lpModuleName As String) As Long
    Private Declare Function SetWindowsHookEx Lib "user32" Alias "SetWindowsHookExA" _
    (ByVal idHook As Long, ByVal lpfn As Long, ByVal hmod As Long, _
    ByVal dwThreadId As Long) As Long
    Private Declare Function UnhookWindowsHookEx Lib "user32" (ByVal hHook As Long) As Long
    Private Declare Function SendDlgItemMessage Lib "user32" Alias "SendDlgItemMessageA" _
    (ByVal hDlg As Long, ByVal nIDDlgItem As Long, ByVal wMsg As Long, _
    ByVal wParam As Long, ByVal lParam As Long) As Long
    Private Declare Function GetClassName Lib "user32" Alias "GetClassNameA" (ByVal hwnd As Long, _
    ByVal lpClassName As String, _
    ByVal nMaxCount As Long) As Long
    Private Declare Function GetCurrentThreadId Lib "kernel32" () As Long
    Private Const EM_SETPASSWORDCHAR = &HCC
    Private Const WH_CBT = 5
    Private Const HCBT_ACTIVATE = 5
    Private Const HC_ACTION = 0
    Private hHook As Long
     
    Public Function NewProc(ByVal lngCode As Long, ByVal wParam As Long, ByVal lParam As Long) As Long
    Dim RetVal
    Dim strClassName As String, lngBuffer As Long
    If lngCode < HC_ACTION Then
        NewProc = CallNextHookEx(hHook, lngCode, wParam, lParam)
        Exit Function
    End If
    strClassName = String$(256, " ")
    lngBuffer = 255
     If lngCode = HCBT_ACTIVATE Then
        RetVal = GetClassName(wParam, strClassName, lngBuffer)
            If Left$(strClassName, RetVal) = "#32770" Then
            SendDlgItemMessage wParam, &H1324, EM_SETPASSWORDCHAR, Asc("*"), &H0
            End If
     End If
    CallNextHookEx hHook, lngCode, wParam, lParam
    End Function
     
    Public Function InputBoxDK(Prompt, Optional Title, Optional Default, Optional XPos, _
    Optional YPos, Optional HelpFile, Optional Context) As String
    Dim lngModHwnd As Long, lngThreadID As Long
    lngThreadID = GetCurrentThreadId
    lngModHwnd = GetModuleHandle(vbNullString)
    hHook = SetWindowsHookEx(WH_CBT, AddressOf NewProc, lngModHwnd, lngThreadID)
    InputBoxDK = InputBox(Prompt, Title, Default, XPos, YPos, HelpFile, Context)
    UnhookWindowsHookEx hHook
    End Function
    Pour l'utilisé il suffis de l'ajouté comme module, et ensuite d'utilisé "InputBoxDK" dans la macro avec les même choix que une inputbox normale. (Prompt, Title, Default, XPos, YPos, HelpFile, Context) As String

Discussions similaires

  1. Créer Dialogue de mot de passe
    Par sondo dans le forum Bases de données
    Réponses: 20
    Dernier message: 29/08/2008, 10h43
  2. [VBA/EXCEL]Saisie d'un mot de passe en etoilé
    Par rodrigue62 dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 10/08/2007, 13h19
  3. [Formulaire][VBA] Bloquer l'accès par mot de passe
    Par sumtech dans le forum Sécurité
    Réponses: 2
    Dernier message: 17/04/2007, 16h25
  4. [VBA] EXCEL comment mettre un mot de passe dans d’une macro?
    Par POUY64 dans le forum Macros et VBA Excel
    Réponses: 7
    Dernier message: 24/01/2006, 16h13

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo