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 :

Modifier un control dynamique


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Homme Profil pro
    ENSGTI
    Inscrit en
    Mars 2014
    Messages
    31
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : ENSGTI

    Informations forums :
    Inscription : Mars 2014
    Messages : 31
    Par défaut Modifier un control dynamique
    Bonjour à tous,

    J'essaye de modifier la valeur de textbox crée dynamiquement. Quand j'essaye de modifier leur propriété, j'ai un message d'erreur comme quoi il ne trouve pas la textbox.
    voici le code :

    dans userform nommé "simulation"
    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
     
        Set Obj = Me.Controls.Add("Forms.Textbox.1")
        With Obj
            .Name = "txt_TNR1"
     '       .Object.Caption = "Selection dossier TNR" & i
            .Left = 198
            .Top = 42 * i + 174
            .Width = 438
            .Height = 36
     
        End With
     
        'ajout de l'objet dans la classe
        Set Cl = New Classe1
        Set Cl.txt = Obj
        Collect.Add Cl
    dans le module de classe :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    Private Sub TNR_Click()
     
        Dim bInfo As BROWSEINFO, szPath As String * 512
            bInfo.lpszTitle = "Sélectionnez le dossier des .cfg."
            bInfo.ulFlags = &H1
        If SHGetPathFromIDListA(SHBrowseForFolderA(bInfo), szPath) Then
            txt_TNR_test = Left(szPath, InStr(szPath, vbNullChar) - 1)
     
    Simulation.txt_TNR1.Value = txt_TNR_test
     
    End Sub
    il bloque sur la ligne "Simulation.txt_TNR1.Value = txt_TNR_test". Il ne trouve pas la textbox "txt_TNR1." par contre si la textbox n'est pas crée dynamiquement il la trouve.

    Merci de votre aide. je commence à désespérer
    Rq : je débute dans les userform.

  2. #2
    Invité
    Invité(e)
    Par défaut Bonjour,
    dans un module standard déclare ta collection comme public et retire les déclaration autre dans le programme!
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     Public Collect As Collection
    modifies ton code pour nommer le nom de l'objet dans ta collection!
    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
     Set Collect = New Collection
        Set Obj = Me.Controls.Add("Forms.Textbox.1")
        With Obj
            .Name = "txt_TNR1"
     '       .Object.Caption = "Selection dossier TNR" & i
            .Left = 198
            .Top = 42 * i + 174
            .Width = 438
            .Height = 36
     
        End With
         'ajout de l'objet dans la classe
        Set Cl = New Classe1
        Set Cl.txt = Obj
        Collect.Add Cl, Obj.Name 'Ici je donne le nom de l'objet à la collection
    dans le module de classe tu peux appeler l'objet de ta colection par son nom!
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Collect("txt_TNR1").txt.Value= txt_TNR_test

  3. #3
    Membre averti
    Homme Profil pro
    ENSGTI
    Inscrit en
    Mars 2014
    Messages
    31
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : ENSGTI

    Informations forums :
    Inscription : Mars 2014
    Messages : 31
    Par défaut
    Nikel sa marche

    merci pour l'aide. Je risquerez de revenir dans le coin mais déjà j'ai ce problème en moins.

  4. #4
    Membre averti
    Homme Profil pro
    ENSGTI
    Inscrit en
    Mars 2014
    Messages
    31
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : ENSGTI

    Informations forums :
    Inscription : Mars 2014
    Messages : 31
    Par défaut
    J'ai un nouveau problème

    Cette fois je veux récupérer la valeur des textbox dynamique par un bouton dans mon userform.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
     
        For i = 1 To OP1 - 1
     '   Collect("txt_TNR" & i).txt.Value = txt_TNR_val
     ' path_jdd = Simulation.txt_jdd1.Value
     
        Cells(1, i) = path_jdd
        Next
    j'ai essayé plusieurs truc mais rien n'y fait.
    Si quelqu'un à un cours bien fais sur les contrôle dynamique je prend

  5. #5
    Invité
    Invité(e)
    Par défaut
    tes Textbox sont tous créer dynamiquement?

  6. #6
    Membre averti
    Homme Profil pro
    ENSGTI
    Inscrit en
    Mars 2014
    Messages
    31
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : ENSGTI

    Informations forums :
    Inscription : Mars 2014
    Messages : 31
    Par défaut
    Non pas tous. J'aimerais bien pouvoir sélectionner mes textbox dynamique pour récupérer la valeur

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

Discussions similaires

  1. [Débutant] Controle dynamique - Impossible de modifier la collection
    Par antrax2013 dans le forum ASP.NET
    Réponses: 2
    Dernier message: 08/10/2013, 10h46
  2. [VB6]comment supprimer dynamiquement un controle dynamique?
    Par totor le troll dans le forum VB 6 et antérieur
    Réponses: 9
    Dernier message: 06/07/2011, 21h10
  3. [VB.NET] Contrôle dynamique et évènements
    Par johann.C dans le forum ASP.NET
    Réponses: 4
    Dernier message: 30/11/2009, 10h45
  4. [C#]control dynamique
    Par inferno dans le forum ASP.NET
    Réponses: 5
    Dernier message: 25/08/2006, 12h08
  5. [VB6] creation et gestion de contrôle dynamique
    Par olivierx dans le forum VB 6 et antérieur
    Réponses: 13
    Dernier message: 23/04/2004, 00h09

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