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 :

Userform dynamique: plusieurs checkbox


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Inscrit en
    Mars 2008
    Messages
    81
    Détails du profil
    Informations forums :
    Inscription : Mars 2008
    Messages : 81
    Par défaut Userform dynamique: plusieurs checkbox
    Bonjour à tous,
    Voici mon soucis du moment:

    Je dispose en entrée d'une collection de taille variable (la collection peut avoir une taille de 5 comme 3 etc...) de noms.

    Dans un Userform j'aimerais créer autant de checkbox qu'il y a d'éléments dans cette collection. Ces checkbox je souhaiterais les créer dans une Frame.
    Voici ce que j'ai pour l'instant d'après mes recherches:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    Dim CDS As CDS, i As Integer, chaine As String, MaCheckbox As Object
    
    CDS.Nom = ComboBox1.Value
    Call centre_de_service.Lister_Poles(CDS)
    For i = 1 To CDS.poles.Count
        Set MaCheckbox = ParametrerCDS.poles.Controls.Add("Forms.CheckBox.1", Name:="Checkbox" & i)
        MaCheckbox.Caption = CDS.poles(i)
        MaCheckbox.Value = True
    Next i
    En gras j'ai signalé la ligne clé. En fait cela permet d'ajouter un objet checkbox à la Frame "poles" du userform "ParametrerCDS". Le problème est que je n'ai qu'un seul objet MaCheckBox, donc à chaque passe on écrase la checkbox précédente.

    Est ce que quelqu'un saurait comment faire?

    L'idée que j'ai pour l'instant (qui n'est surement pas la meilleure) est:
    - de créer 10 checkbox (valeur max de la taille de ma collection) dans la frame par avance
    - puis d'ajouter autant de If nécessaires pour qu'il ne s'affiche que le bon nombre de checkbox

    Merci d'avance!

  2. #2
    Inactif  
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    2 054
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Juin 2007
    Messages : 2 054
    Par défaut
    Bonjour,
    A première vue, tu ne déplace pas les contrôles ? donc y sont tous l'un sur l'autre !
    le mieux est d'employer Move pour les déplacer
    A+

  3. #3
    Membre confirmé
    Inscrit en
    Mars 2008
    Messages
    81
    Détails du profil
    Informations forums :
    Inscription : Mars 2008
    Messages : 81
    Par défaut
    Merci pour la réponse ^^
    Ah? Je pensais que je modifiais toujours le même!
    Peux tu me dire comment les placer par le code?

  4. #4
    Inactif  
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    2 054
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Juin 2007
    Messages : 2 054
    Par défaut
    Zut, j'ai pas été assez vite pour éditer..
    Avec
    Move Left,Top,width,Height
    A+

  5. #5
    Membre confirmé
    Inscrit en
    Mars 2008
    Messages
    81
    Détails du profil
    Informations forums :
    Inscription : Mars 2008
    Messages : 81
    Par défaut
    Merci beaucoup ^^
    C'est parfait maintenant!

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

Discussions similaires

  1. Userform dynamique avec checkbox
    Par city500 dans le forum Excel
    Réponses: 3
    Dernier message: 09/07/2012, 13h40
  2. [XL-2003] Mettre plusieurs checkbox dans un userform
    Par peofofo dans le forum Macros et VBA Excel
    Réponses: 0
    Dernier message: 08/02/2010, 11h53
  3. Réponses: 3
    Dernier message: 16/06/2008, 17h27
  4. Réponses: 2
    Dernier message: 24/08/2007, 14h25
  5. Cochage de plusieurs checkbox
    Par licorne dans le forum Balisage (X)HTML et validation W3C
    Réponses: 3
    Dernier message: 09/03/2005, 10h30

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