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

VBA Discussion :

[VBA-P] - checkbox dynamique


Sujet :

VBA

  1. #1
    Nouveau Candidat au Club
    Inscrit en
    Juin 2006
    Messages
    2
    Détails du profil
    Informations forums :
    Inscription : Juin 2006
    Messages : 2
    Points : 1
    Points
    1
    Par défaut [VBA-P] - checkbox dynamique
    bonjour à tous,

    voilà j'ai créé des checkbox en dynamique, mais je n'arrive pas à récupérer l'évènement "click" individuellement pour chaque checkbox.

    Voici mon code

    Dans un module de classe : "classe1"
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    Public WithEvents ess As CheckBox
     
    Private Sub ess_click()
    'ici je recupère bien tous mes évènement click
     
    End Sub
    Dans le code de mon userform

    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
    Dim cgroup() As New Classe1
    Public i As Integer
     
    Private Sub CommandButton1_Click()
     
    i = i + 1
    ReDim Preserve cgroup(1 To i) As New Classe1
    Set cgroup(i).ess = Controls.Add("Forms.checkbox.1", "toto", True)
    With cgroup(i).ess
    .Move i * 10, i * 20
    .Visible = True
     
    End With
     
    End Sub

    Si quelqu'un peux m'aider, merci

  2. #2
    Expert éminent sénior

    Homme Profil pro
    Inscrit en
    Août 2005
    Messages
    3 317
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Secteur : Industrie

    Informations forums :
    Inscription : Août 2005
    Messages : 3 317
    Points : 20 144
    Points
    20 144
    Par défaut
    bonsoir

    j'espere que ces infos pourront t'aider


    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
    '--------------------------------------
    'Procedure de creation de CheckBox dynamique
    'dans l'UserForm
    Option Explicit
     
    Private Sub CommandButton1_Click()
    Dim Obj As Control
    Dim Cl As Classe1
     
    Set Collect = New Collection
     
    Set Obj = Me.Controls.Add("forms.Checkbox.1")
    With Obj
        .Name = "moncheckbox"
        .Object.Caption = "le texte"
        .Left = 40
        .Top = 30
        .Width = 50
        .Height = 20
    End With
     
    'ajout de l'objet dans la classe
    Set Cl = New Classe1
    Set Cl.ChkBx = Obj
    Collect.Add Cl
     
    End Sub
    '--------------------------------------


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    '--------------------------------------
    'dans un module standard
    Option Explicit
     
    Public Collect As Collection
    '--------------------------------------



    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    '--------------------------------------
    'dans un module de classe nommé "Classe1"
    '
    Option Explicit
     
    Public WithEvents ChkBx As MSForms.checkbox
     
    'exemple pour gerer l'evenement eclic sur les objets type CheckBox
    Private Sub ChkBx_Click()
    'cet exemple affiche la valeur de l'objet cliqué
    MsgBox ChkBx.Value
    End Sub
    '--------------------------------------



    bonne soiree
    michel

  3. #3
    Nouveau Candidat au Club
    Inscrit en
    Juin 2006
    Messages
    2
    Détails du profil
    Informations forums :
    Inscription : Juin 2006
    Messages : 2
    Points : 1
    Points
    1
    Par défaut
    Merci pour ta réponse,

    en effet cela marche pour créer des checkbox en dynamique,

    mais je n'arrive toujours pas à savoir quel est le chkbx qui est activé.
    il faudrait que je récupère le "numero" du chkbx !!

    merci de m'aider encore, si possible.

    Salutations

  4. #4
    Expert éminent sénior

    Homme Profil pro
    Inscrit en
    Août 2005
    Messages
    3 317
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Secteur : Industrie

    Informations forums :
    Inscription : Août 2005
    Messages : 3 317
    Points : 20 144
    Points
    20 144
    Par défaut
    bonjour

    tu peux utiliser cette adaptation dans le module de classe

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    Private Sub ChkBx_Click()
    'cet exemple affiche la valeur de l'objet cliqué
    MsgBox ChkBx.Name & " : " & ChkBx.Value
    End Sub


    bon apres midi
    michel

  5. #5
    Membre à l'essai
    Inscrit en
    Septembre 2008
    Messages
    21
    Détails du profil
    Informations forums :
    Inscription : Septembre 2008
    Messages : 21
    Points : 17
    Points
    17
    Par défaut
    Bonjour,

    J'ai appliqué ce qui était préconisé et en effet les checkbox sont bel et bien générer de manière dynamique.
    Cocher et décocher les cases n'affichent pas de message?
    Ne manquerait-il pas une procédure du type _Change() à rajouter dans l'userform pour gérer les évènements ?
    Quel est l'intérêt de rajouter les classes boutons dans une collection ?

    Thomas

Discussions similaires

  1. [XL-2010] Suite [VBA-P] - checkbox dynamique
    Par thomas.r dans le forum Macros et VBA Excel
    Réponses: 0
    Dernier message: 24/04/2013, 17h17
  2. [VBA-E] bouton dynamique avec fonction
    Par ogenki dans le forum Macros et VBA Excel
    Réponses: 38
    Dernier message: 06/02/2006, 12h43
  3. [VBA][Excel]CheckBox non editable
    Par Pollux dans le forum Macros et VBA Excel
    Réponses: 5
    Dernier message: 10/01/2006, 10h03
  4. [VBA] excel croisé dynamique et plage de données variables
    Par totoche dans le forum Macros et VBA Excel
    Réponses: 10
    Dernier message: 04/01/2006, 18h14
  5. [VBA-E] Dim dynamique sur un tableau
    Par Vince69 dans le forum Macros et VBA Excel
    Réponses: 5
    Dernier message: 12/12/2002, 13h32

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