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

Macros et VBA Excel Discussion :

Fermer un input box depuis le code


Sujet :

Macros et VBA Excel

  1. #1
    Membre confirmé
    Homme Profil pro
    Ingénieur qualité méthodes
    Inscrit en
    Septembre 2013
    Messages
    42
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Ingénieur qualité méthodes
    Secteur : Industrie

    Informations forums :
    Inscription : Septembre 2013
    Messages : 42
    Par défaut Fermer un input box depuis le code
    Bonjour a tous,

    J'aimerai savoir si il y a un moyen de fermer une input box directement dans mon code, comme si j'appuyais sur ok. j'ai cherché dans l'aide mais rien la dessus. Est-ce que quelqun aurait une info la dessus?

    Merci.

  2. #2
    Inactif  
    Homme Profil pro
    Inscrit en
    Septembre 2012
    Messages
    1 733
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations forums :
    Inscription : Septembre 2012
    Messages : 1 733

  3. #3
    Membre Expert
    Profil pro
    Inscrit en
    Juin 2009
    Messages
    652
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Juin 2009
    Messages : 652
    Par défaut
    Bonjour à tous,

    Je montre le code adapté à une InputBox. J'ai supposé que c'était pour une demande de mot de passe.
    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
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    Option Explicit
     
    Private Declare Function SendMessage& Lib "user32" Alias "SendMessageA" ( _
      ByVal Hwnd As Long, ByVal wMsg As Long, ByVal wParam As Long, lParam As Any)
    Private Declare Function FindWindow& Lib "user32" Alias "FindWindowA" ( _
      ByVal lpClassName As String, ByVal lpWindowName As String)
    Private Declare Function SetTimer& Lib "user32" ( _
      ByVal Hwnd As Long, ByVal nIDEvent As Long, _
      ByVal uElapse As Long, ByVal lpTimerFunc As Long)
    Private Declare Function KillTimer& Lib "user32" ( _
      ByVal Hwnd As Long, ByVal nIDEvent As Long)
     
    Dim OnTimer&
    Dim TitreInputBox$
     
    '___________________________
    Private Sub CloseInputBox()
    Const WM_CLOSE = &H10
    Dim Hwnd&
    Hwnd& = FindWindow(vbNullString, TitreInputBox)
    SendMessage Hwnd&, WM_CLOSE, 0, ByVal 0&
    End Sub
    '___________________________
    Private Sub RunTimer(Delai&)
    If OnTimer& > 0 Then OffTimer
    OnTimer& = SetTimer(0, 0, ByVal Delai&, AddressOf CloseInputBox)
    End Sub
    '___________________________
    Private Sub OffTimer()
    If OnTimer& > 0 Then
      OnTimer& = KillTimer(0&, OnTimer&)
      OnTimer& = 0
    End If
    End Sub
     
    '___________________________
    Sub MonTraitement()
     
      '--- traitement avant apparition de l'InputBox
     
    '###
    Dim retour
    Dim Delai&
    Delai = 5000     'délai de 5 secondes (à adapter)
    TitreInputBox = "Veuillez saisir votre mot de passe"
    RunTimer Delai
    retour = Application.InputBox("On ferme dans " & Delai \ 1000 & " secondes", TitreInputBox)
    OffTimer
    '###
     
    '--- suite
    If retour = False Then Exit Sub
    If retour <> "zaza" Then      'le bon mot de passe est zaza
      MsgBox "Mot de passe incorrect"
      Exit Sub
    Else
      MsgBox "Bon mot de passe"
    End If
     
    '--- suite
     
    End Sub

  4. #4
    Membre confirmé
    Homme Profil pro
    Ingénieur qualité méthodes
    Inscrit en
    Septembre 2013
    Messages
    42
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Ingénieur qualité méthodes
    Secteur : Industrie

    Informations forums :
    Inscription : Septembre 2013
    Messages : 42
    Par défaut
    Merci pour vos réponse, je vais tester tout ça. par contre étant débutant, si quelqun connait une manière plus simple de faire ça je suis preneur. Aussi lorsque l'on met un "&" derière une variable, ça correspond bien à une adresse ou rien a voir?

  5. #5
    Expert éminent
    Avatar de Marc-L
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Avril 2013
    Messages
    9 468
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2013
    Messages : 9 468
    Par défaut

    Bonjour,

    mais pourquoi donc appeler une InputBox pour ne pas l'utiliser ?‼

    Donc le plus simple pour ne pas avoir à la fermer est de ne pas l'appeler, CQFD ‼

  6. #6
    Membre Expert
    Profil pro
    Inscrit en
    Juin 2009
    Messages
    652
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Juin 2009
    Messages : 652
    Par défaut
    mais pourquoi donc appeler une InputBox pour ne pas l'utiliser ?‼
    Cela doit être pour une demande de mot de passe, du moins c'est ce que j'ai supposé.
    ***
    lorsque l'on met un "&" derière une variable, ça correspond bien à une adresse ou rien a voir?
    C'est le typage des variables par suffixe
    Dim toto& correspond à Dim toto as Long
    Dim toto$ correspond à Dim toto as String
    etc.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. diferrence en cancel et "" dans input box
    Par shirya dans le forum VB 6 et antérieur
    Réponses: 4
    Dernier message: 29/09/2005, 19h30
  2. [C#] Simuler clic depuis du code
    Par Trollusc@ius dans le forum ASP.NET
    Réponses: 13
    Dernier message: 16/08/2005, 10h43
  3. comment fermer un fichier Excel depuis Access?
    Par audrey_desgres dans le forum Access
    Réponses: 14
    Dernier message: 21/06/2005, 12h43
  4. [JS] Appeler du code C# depuis du code JS
    Par DontNet dans le forum ASP.NET
    Réponses: 3
    Dernier message: 05/05/2005, 19h00
  5. Contenu d'un champ tronqué dans mon input box
    Par Marmot dans le forum ASP
    Réponses: 2
    Dernier message: 27/10/2004, 13h30

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