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 :

[Evenement Dynamique] Checkbox


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Décembre 2007
    Messages
    21
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2007
    Messages : 21
    Par défaut [Evenement Dynamique] Checkbox
    Bonjour,

    J'ai une petite question :
    Comment faire pour qu' un checkbox n°1 va "checker" un checkbox n°2 le tous en dynamique?

    A l'heure actuel j'arrive a créer un évenement pour un control mais impossible que l'évenement de ce control agisse sur un autre control.

    Dans mon class modul :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    Option Explicit
     
    Public WithEvents ChkBx As MSforms.CheckBox
     
     
    Private Sub ChkBx_Click()
     
        MsgBox ChkBx.Name & ": " & ChkBx.Value
     
            If ChkBx.Name = "CheckboxFR1" Then
            MsgBox "TOTO"
            End If
    End Sub
    Merci

  2. #2
    Membre éclairé Avatar de tomy7
    Profil pro
    Étudiant
    Inscrit en
    Janvier 2008
    Messages
    540
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Janvier 2008
    Messages : 540
    Par défaut re
    bonjour,
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    if checkbox1.value = true then checkbox2.value = true

  3. #3
    Membre éclairé
    Profil pro
    Inscrit en
    Novembre 2007
    Messages
    306
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2007
    Messages : 306
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    Public WithEvents ChkBx As MSforms.CheckBox
     
     
    Private Sub ChkBx_Click()
     If ChkBx.Name = "CheckboxFR1" and ChkBx.value=true Then ChkBx2.value=true
    End Sub
    Non ?

  4. #4
    Membre émérite

    Profil pro
    Inscrit en
    Mai 2007
    Messages
    514
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2007
    Messages : 514
    Par défaut
    Bonjour,

    Si j'ai bien compris, ton module de classe:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    Option Explicit
     
    Public WithEvents ChkBx1 As MSforms.CheckBox 'Pour recuperer l'evenement
     
    Public ChkBx2 As MSforms.CheckBox 'Un autre objet
     
    Private Sub ChkBx1_Click()
            Msgbox ChkBx2.Value
    End Sub
    L'utilisation du module:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    Dim M As NomModule
     
    Set M = New NomModule
    With M
        Set .ChkBx1 = CheckBox1
        Set .ChkBx2 = CheckBox2
    End With
    Cordialement,

    Tirex28/

  5. #5
    Membre averti
    Profil pro
    Inscrit en
    Décembre 2007
    Messages
    21
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2007
    Messages : 21
    Par défaut
    No désolé sa fonctionne pas.
    ==> Variable non défini pour ChkBx2.

    Merci House MD et Tomy7

  6. #6
    Membre éclairé Avatar de tomy7
    Profil pro
    Étudiant
    Inscrit en
    Janvier 2008
    Messages
    540
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Janvier 2008
    Messages : 540
    Par défaut re
    ton prob est il ?

  7. #7
    Membre éclairé
    Profil pro
    Inscrit en
    Novembre 2007
    Messages
    306
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2007
    Messages : 306
    Par défaut
    ... ChkBx2, on a mis ca comme ca, au hasard, mets le vrai nom de ton second checkbox.

  8. #8
    Membre émérite

    Profil pro
    Inscrit en
    Mai 2007
    Messages
    514
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2007
    Messages : 514
    Par défaut
    Re,

    Comment faire pour qu' un checkbox n°1 va "checker" un checkbox n°2 le tous en dynamique?
    ...
    No désolé sa fonctionne pas.
    ==> Variable non défini pour ChkBx2.
    Tu parle d'objets dynamiques mais s'agit il d'objets que tu ajoute a l'execution ou simplement d'objets créés au moment de la conception mais que tu veux pouvoir choisir a l'execution?

    Précise un peu le contexte stp et montre nous le code de ton module de classe ainsi que le code qui y fait appel.

    Cordialement,

    Tirex28/

  9. #9
    Membre éprouvé Avatar de zebulon2212
    Inscrit en
    Juin 2006
    Messages
    77
    Détails du profil
    Informations personnelles :
    Âge : 41

    Informations forums :
    Inscription : Juin 2006
    Messages : 77
    Par défaut
    Je pense que tu voulai faire un type chkbox générique pour récupéré l'evennement.
    Dis moi si je me trompe.

  10. #10
    Membre averti
    Profil pro
    Inscrit en
    Décembre 2007
    Messages
    21
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2007
    Messages : 21
    Par défaut
    Je n'arrive pas trop a saisir le fonctionnement du class modul.

    Voici ce que j'ai fais :
    Dans mon userform : ==> Création d'un formulaire dont les pages s'incrément dynamiquement ainsi que les controles qui si trouvent. Dans mon cas des checkbox.
    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
    '
    Dim Cl As Class1
    Set Collect = New Collection
     
    'Compteur d'onglet dans le Multipage1 :
     
    k = MultiPage1.Pages.Count
     
    'Configuration du Multipage1
     
    With MultiPage1
            .MultiRow = True
    End With
    Dim Pge As Page
     Dim p As Page
     Dim k As Integer
     
    'Ajoutter une nouveau onglet ROSE sur le multipage :
     
    Case "ROSE ":
     
    Set Pge = UserForm1.MultiPage1.Pages.Add("ROSE n°" & k)
    Set p = MultiPage1.Pages(k)
     
    With Pge
        .ScrollHeight = 750
        .ScrollBars = fmScrollBarsVertical
        .TransitionEffect = fmTransitionEffectCoverLeftDown
        .TransitionPeriod = 1000
    End With
     
     'Création de l'ensemble des images et des checkBox:
     
    For i = 1 To 11
    Set cb1 = p.Controls.Add("forms.Checkbox.1", "CheckboxFR" & i, True)
    Set Im1 = p.Controls.Add("forms.Image.1", "ImageFR1" & i, True)
     
     
     With cb1     'Position des CheckBox dans l'onglet
                .Left = 66
                .Top = 60 * (i - 1) + 45
                .Width = 90
                .Height = 40
                End With
     
                 With Im1     'Position des Images dans l'onglet
                .Left = 12
                .Top = 60 * (i - 1) + 30
                .Width = 50
                .Height = 50
                End With
    Next 
    'ajout de l'objet dans la classe
        Set Cl = New Class1
        Set Cl.ChkBx = cb1
        Collect.Add Cl
    Dans le module :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Option Explicit
     
    Public Collect As Collection
    Et pour finir dans le class module
    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
    Option Explicit
     
    Public WithEvents ChkBx As MSforms.CheckBox
     
     
     
    Private Sub ChkBx_Click()
     
        MsgBox ChkBx.Name & ": " & ChkBx.Value ' Quand je selection un checkbox il m'affiche son nom et sa valeur dans un msgbox
     
            If ChkBx.Name = "CheckboxFR1" Then 'Si le checkbox que je "Checke" est le checkbox de nom "CeckboxFR1" alors affiche  "TOTO"
     
     
            MsgBox "TOTO"
            End If
    End Sub
    Dans mon cas si je remplace le "MSGBOX "TOTO" par la condition CheckboxFR2.value=1 ==>> Message d'erreur comme quoi CheckboxFR2 n'est pas definie.

    De mon point de vue c'est un probleme de lisibilité mais là. Je manque d'expérience et surtout je débute véritablement en programmation.

    J'espère que les informations que j'ai apporté pourra avancer les choses.

    Merci Vincent

    Citation Envoyé par zebulon2212 Voir le message
    Je pense que tu voulai faire un type chkbox générique pour récupéré l'evennement.
    Dis moi si je me trompe.
    Oui je crois c'est çà.

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

Discussions similaires

  1. [VB.net]detecter evenement sur checkbox dynamique
    Par manaboko dans le forum VB.NET
    Réponses: 5
    Dernier message: 18/12/2009, 07h52
  2. [débutant] evenement bouton + checkbox
    Par oceane751 dans le forum AWT/Swing
    Réponses: 11
    Dernier message: 15/04/2007, 20h30
  3. [débutant] Evenement dynamique d'un champ
    Par tookaina dans le forum VB.NET
    Réponses: 3
    Dernier message: 05/02/2007, 14h31
  4. gérer plusieurs evenements sur checkbox
    Par nicerico dans le forum Général JavaScript
    Réponses: 6
    Dernier message: 03/11/2006, 09h46
  5. [C#] Création dynamique checkbox
    Par diaboloche dans le forum Windows Forms
    Réponses: 2
    Dernier message: 14/02/2006, 11h44

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