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 l'Userform si les 4 checkbox sont cochées [XL-2010]


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éprouvé
    Homme Profil pro
    Chargé d'études RH
    Inscrit en
    Août 2014
    Messages
    162
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Chargé d'études RH
    Secteur : Enseignement

    Informations forums :
    Inscription : Août 2014
    Messages : 162
    Par défaut Fermer l'Userform si les 4 checkbox sont cochées
    Bonjour,

    Je code une Userform avec 4 Checkbox.
    Voici le code que j'ai pour l'instant, dans le module de l'userform :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    Private Sub UserForm_Initialize()
        OteCroix Me
        If CheckBox1 = "Vrai" And CheckBox2 = "Vrai" And CheckBox3 = "Vrai" And CheckBox4 = "Vrai" Then
        Unload Me
        End If
    End Sub
    Dans un module standard :
    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
    Option Explicit
     
    Declare Function GetWindowLongA Lib "user32" _
    (ByVal hwnd As Long, ByVal nIndex As Long) As Long
     
     Declare Function SetWindowLongA Lib "user32" _
    (ByVal hwnd As Long, ByVal nIndex As Long, _
    ByVal dwNewLong As Long) As Long
     
     Declare Function FindWindowA Lib "user32" _
    (ByVal lpClassName As String, ByVal lpWindowName As String) As Long
     
    Public Transfer(6) As String
     
    Sub OteCroix(UF As UserForm)
    Dim hwnd As Long
        'Enlève la croix rouge de l'UF
        hwnd = FindWindowA("Thunder" & IIf(Application.Version Like "8*", "X", "D") _
        & "Frame", UF.Caption)
        SetWindowLongA hwnd, -16, GetWindowLongA(hwnd, -16) And &HFFF7FFFF
    End Sub
    Je souhaite fermer l'userform lorsque toutes les cases sont cochées.
    Sauriez vous comment faire cela ?

    Merci,

  2. #2
    Invité
    Invité(e)
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    If CheckBox1*CheckBox2 * CheckBox3 * CheckBox4 =trueThen
        Unload Me
        End If

  3. #3
    Membre éprouvé
    Homme Profil pro
    Chargé d'études RH
    Inscrit en
    Août 2014
    Messages
    162
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Chargé d'études RH
    Secteur : Enseignement

    Informations forums :
    Inscription : Août 2014
    Messages : 162
    Par défaut
    Bonjour,

    Merci pour ta réponse rapide

    Avec ton code, j'obtiens le même résultat qu'avec le mien. J'ai ajouté un espace entre "true" et "then".

  4. #4
    Invité
    Invité(e)
    Par défaut
    si les case sont cocher alors true sinon false!

    que veux tu faire exactement si toutes les case sont cochées,
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    If CheckBox1*CheckBox2 * CheckBox3 * CheckBox4 =true Then
    si toutes les case sont décochées,
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    If CheckBox1*CheckBox2 * CheckBox3 * CheckBox4 =false Then
    si une est choché
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    If CheckBox1+CheckBox2 + CheckBox3 + CheckBox4 =true Then
    si une est décoché,
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    If 4+ CheckBox1+CheckBox2 + CheckBox3 + CheckBox4 <>0 Then

  5. #5
    Membre éprouvé
    Homme Profil pro
    Chargé d'études RH
    Inscrit en
    Août 2014
    Messages
    162
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Chargé d'études RH
    Secteur : Enseignement

    Informations forums :
    Inscription : Août 2014
    Messages : 162
    Par défaut
    Si toutes les cases sont cochées alors, je souhaite fermer l'Userform

    Si une seule case est cochée alors, ne rien faire
    Si une seule case est décochée alors, ne rien faire
    Si toutes les cases sont décochées alors, ne rien faire

    La seule action est à réaliser si toutes les cases sont cochées

  6. #6
    Expert confirmé
    Homme Profil pro
    Inscrit en
    Août 2010
    Messages
    3 453
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Août 2010
    Messages : 3 453
    Par défaut
    Bonjour,

    Dans le même esprit :
    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
     
    Private Sub CheckBox1_Click()
        Fermer
    End Sub
     
    Private Sub CheckBox2_Click()
        Fermer
    End Sub
     
    Private Sub CheckBox3_Click()
        Fermer
    End Sub
     
    Private Sub CheckBox4_Click()
        Fermer
    End Sub
     
    Sub Fermer()
        If CheckBox1 + CheckBox2 + CheckBox3 + CheckBox4 = -4 Then Unload Me
    End Sub

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

Discussions similaires

  1. Réponses: 1
    Dernier message: 01/05/2015, 19h05
  2. [WD-2010] [Signets et remplissage par UserForm] Les signets ne sont pas remplis
    Par GSchaffter dans le forum VBA Word
    Réponses: 9
    Dernier message: 06/02/2015, 09h30
  3. Réponses: 7
    Dernier message: 10/11/2010, 20h59
  4. Réponses: 11
    Dernier message: 11/02/2010, 12h26
  5. Les Langages ne sont pas tous les mêmes ......
    Par Max Payne dans le forum Langages de programmation
    Réponses: 2
    Dernier message: 28/08/2003, 13h51

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