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.addControl / récupération control


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    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 Userform.addControl / récupération control
    Bonjour,

    J'ai créé un userform dans lequel je crée dynamiquement des controls : des textbox.
    Le problème est que je n'arrive pas à leur affecter des événements :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    private sub Userform_Initialize()
     
    for cpt+1 to 5
    Set TBox = Me.Controls.Add("Forms.TextBox.1", "TxtBx" & Cpt)
    next cpt
     
    end sub
     
    private sub TxtBx1_Change()
     
    ...
    end sub
    Merci bien !

  2. #2
    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
    J'ai vu un post ou qqn proposait cette solution :

    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
    'A ajouter dans le Initialize :
     
    dim gettext as string
    dim c() as clsTextboxes
    redim preserve c(cpt)
    set c(cpt).Textbox=userform.Controls.Add("Forms.Textbox.1") 
    'etc.
     
    'A ajouter dans le module d eclasse correspondant
     
    private withevents txtBox as msforms.textbox
     
    public property let TextBox(tb as msforms.textbox)
    set txtBox=tb
    end property
     
    private sub txtBox_Click()
    gettext=txtBox.text
    end sub
    Le problème est que :

    et
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    c(cpt).Textbox=userform.Controls.Add("Forms.Textbox.1")
    génère une erreur : utilisation incorrecte de ".textBox"... alors que l'editeur ne me propose que cette propriété.

    Merci.

  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
    J'ai fini par trouver.
    La solution se trouve effectivement dans les modules de classe (qui sont incroyablement puissants)

    Bref, si ça intéresse qqn, postez-moi.

    Par ailleurs, j'ai développé une pseudo-listbox qui permet d'avoir :

    1/ des lignes alternativement colorés (pour une meilleure lecture)
    2/ des scrollers façon Xp
    3/ des colonnes fixes lors du scroll horizontal
    4/ une saisie directe des modifs à l'intérieur de la "listbox"

    Si ça vous intéresse, postez moi.

    cdt,
    Alexandre

  4. #4
    Modérateur
    Avatar de AlainTech
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Mai 2005
    Messages
    4 235
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 71
    Localisation : Belgique

    Informations professionnelles :
    Activité : Consultant informatique
    Secteur : Finance

    Informations forums :
    Inscription : Mai 2005
    Messages : 4 235
    Par défaut
    Toute contribution (sérieuse) est bonne à poster sur le forum.

    Il existe une rubrique particulière pour ça:
    http://www.developpez.net/forums/forumdisplay.php?f=665

    N'hésite pas et, si tu devais tomber à court de place pour d'éventuels fichiers joints, fais signe à l'un des modérateurs, on te fournira l'espace nécessaire.
    N'oubliez pas de cliquer sur quand vous avez obtenu ou trouvé vous-même la réponse à votre question.
    Si vous trouvez seul, pensez à poster votre solution. Elle peut servir à d'autres!
    Pensez aussi à voter pour les réponses qui vous ont aidés.
    ------------
    Je dois beaucoup de mes connaissances à mes erreurs!

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

Discussions similaires

  1. [XL-2007] Userform dynamique, récupération des données
    Par CaraLePoke dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 12/09/2013, 11h29
  2. [XL-2003] Mettre un userform et ses controls sur tout l'écran
    Par joums dans le forum Macros et VBA Excel
    Réponses: 10
    Dernier message: 23/08/2010, 17h12
  3. Réponses: 4
    Dernier message: 22/06/2006, 10h42
  4. Récupération de données dan sun controle
    Par integrale dans le forum Access
    Réponses: 2
    Dernier message: 05/04/2006, 20h31
  5. Réponses: 2
    Dernier message: 10/05/2005, 15h54

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