Manipuler les objets dans USF VBA Excel 2003
Nospam54
Messages postés
152
Date d'inscription
Statut
Membre
Dernière intervention
-
Nospam54 Messages postés 152 Date d'inscription Statut Membre Dernière intervention -
Nospam54 Messages postés 152 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
Dans mon appli en cours de réalisation je crée dynamiquement des TextBox dans un Userform.
Voici le code :
Par défaut la largeur est définie à 50. Cependant j'ai besoin de pouvoir "manipuler" ces TextBox pour leur assigner une largeur spécifique, donc un positionnement horizontal sur l'USF également spécifique...
Je ne parviens pas à faire cela en utilisant le nom de ces nouveaux TextBox créés...
Quelqu'un peut-il me venir en aide ?
Merci par avance...
Dans mon appli en cours de réalisation je crée dynamiquement des TextBox dans un Userform.
Voici le code :
Private Sub CommandButton1_Click() Dim Obj As Control Dim Cl As Classe1 Dim i As Byte Set Collect = New Collection ' For i = 1 To 7 'Boucle pour la création des 7 TextBox Set Obj = Me.Controls.Add("forms.Textbox.1") With Obj .Name = "TextBox" & i .Object.Text = .Name 'Pour contrôler le nom des TextBox créés .Left = 70 * i + 10 .Top = 30 .Width = 50 .Height = 15 .BackColor = &HC0FFFF .BorderStyle = 1 .FontName = "arial" .FontBold = True .FontSize = 9 .Enabled = False End With ' 'Ajout de l'objet dans la classe Set Cl = New Classe1 Set Cl.textbox = Obj Collect.Add Cl Next i ' End Sub
Par défaut la largeur est définie à 50. Cependant j'ai besoin de pouvoir "manipuler" ces TextBox pour leur assigner une largeur spécifique, donc un positionnement horizontal sur l'USF également spécifique...
Je ne parviens pas à faire cela en utilisant le nom de ces nouveaux TextBox créés...
Quelqu'un peut-il me venir en aide ?
Merci par avance...
A voir également:
- Manipuler les objets dans USF VBA Excel 2003
- Site pour vendre des objets d'occasion - Guide
- Liste déroulante excel - Guide
- Word et excel gratuit - Guide
- Déplacer colonne excel - Guide
- Si ou excel - Guide
2 réponses
Salut,
Je vais peut-être répondre indirectement, mais personnellement au lieu de m'embêter avec des créations d'objets dans un userform, je préfère les rendre visibles ou invisibles en fonctions des actions de l'utilisateur.
Plus de travail en amont mais gestion facilitée par la suite.
Bon courage,
A+
Je vais peut-être répondre indirectement, mais personnellement au lieu de m'embêter avec des créations d'objets dans un userform, je préfère les rendre visibles ou invisibles en fonctions des actions de l'utilisateur.
Plus de travail en amont mais gestion facilitée par la suite.
Bon courage,
A+
En fait les TextBox se remplissent automatiquement à partir de données présentent sur une feuille Excel.
J'ai pas mal avancé et parviens maintenant à créer dynamiquement dans mon USF des lignes contenant des TextBox.
Cependant ça marche même trop bien puisque la macro en créé bizarrement plus qu'il ne faut...
J'ignore si tu es en capacité de m'aider là-dessus...
Ci-dessous mon fichier test contenant la macro
https://www.cjoint.com/?BEsnJuBEPB5
J'ai pas mal avancé et parviens maintenant à créer dynamiquement dans mon USF des lignes contenant des TextBox.
Cependant ça marche même trop bien puisque la macro en créé bizarrement plus qu'il ne faut...
J'ignore si tu es en capacité de m'aider là-dessus...
Ci-dessous mon fichier test contenant la macro
https://www.cjoint.com/?BEsnJuBEPB5
J'ai aussi pensé à cette solution (que je n'exclue d'ailleurs pas), mais d'une part le nombre de "lignes" contenant ces TextBox dynamiques est aléatoire et, d'autre part... je dois l'avouer, je suis novice en VBA et je souhaite explorer le maximum de possibilités dans la programmation.
En attendant j'ai trouvé le code à utiliser pour manipuler mes objets créés, à savoir (si cela t'intéresse) :
Ensuite il suffit de boucler pour remplir les TextBox des infos à y lire...
Par contre je ne vois pas comment tu peux faire pour dynamiser tes textbox en fonction de ce que l'utilisateur inscrit dedans ?
A moins de compter les caractères et d'adapter tes TB en fonction...