Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

Peut on ajouter un textbox sur un formulaire par c

  • Initiateur de la discussion Angelo
  • Date de début
A

Angelo

Guest
Bonjour le forum
afin de rendre mon apllication durable dans le temps je susi contraint de prévoir une partie 'aministration' qui permet d'ajouter ou supprimer une opération à mon tableau
Ca j'y arrive tres bien
le souci est que pour remplir le tableau j'ai conçu un formulaire avec autant de textbox qu'il y a d'opération présente dans mon tableau
or si j'ajoute une opération je dois aussi ajouté un textbox et vous comprendrez bien que je peux pas demandé à l'utiisateur de le faire !

Est possible de le faire via une macro?
 

Jacques87

XLDnaute Accro
Bonjour

Voici la ligne de code à construire et à adapter pour répondre à ta question

ActiveSheet.OLEObjects.Add(ClassType:='Forms.TextBox.1', Link:=False, DisplayAsIcon:=False, Left:=180, Top:=130, Width:=110, Height:=25).Select

tu renseignes les valeurs pour la positionner et déterminer sa taille.
Bon courage

Message édité par: Jacques87, à: 14/03/2006 10:49
 

Jacques87

XLDnaute Accro
Re

comme je ne savais pas où tu désirais le 'coller' j'ai choisis la feuille (ActiveSheet)
Donc tu dois remplacer AvtiveSheet par par exemple UerForm1 ou Mon_Formulaire suivant le nom de ce formulaire

A+
 
A

Angelo

Guest
Lorsque je met le nom de mon formulaire
Code:
Opération.OLEObjects.Add(ClassType:='Forms.TextBox.1', Link:=False, DisplayAsIcon:=False, Left:=180, Top:=130, Width:=110, Height:=25).Select

cela me fait une erreur : membre de methode ou de données introuvable en me surlignant le OLEObjects :S
 

Jacques87

XLDnaute Accro
Re

en effet Angelo, je n'ai pas réfléchi plus loin que le bout de mon nez
Cette méthode ajoute des controls sur une feuille mais pas dans un userform (formulaire).

Je dois quitter (cause repas)
Je regarderai en début d'après midi et si tu n'as pas de réponse je te recontacterai

Bon appétit
 

Jacques87

XLDnaute Accro
Angelo,

Après un petit repas rapide, voici la solution à ton problème

Dim montexte As Control
Set montexte = UserForm1.Controls.Add('Forms.TextBox.1')
montexte.Left = 50
montexte.Top = 50
montexte.Width = 100
montexte.Height = 25

attention, tu devras adapter ce code en particulier en ce qui concerne le nom du formulaire

Bon courage
 
A

Angelo

Guest
apres mettre battu vaillaimant contre mon code j'ai hélas perdu :angry:


En effet il m'indique chaine de classe incorrect pour la ligne Set montexte = UserForm1.Controls.Add('Forms.TextBox.1')
 

Jacques87

XLDnaute Accro
Angelo

voici un fichier exemple

je vais regarder ce que tu as trouvé et te recontacterai [file name=ajouter.zip size=11545]http://www.excel-downloads.com/components/com_simpleboard/uploaded/files/ajouter.zip[/file]
 

Angelo7891

XLDnaute Junior
j'ai réussi à faire des textbox ainsi que des label

mais j'ai un souci car il faudrait que j'ai le nom de ces nouvelles form.

j'ai voulu l'impossé en mettant
Code:
montexte.Object.Name = Label44
ou
Code:
montexte.Object.Name = 'Label44'

j'hésitais pour les guillemets mais dans les 2 cas meme résultats :
propriété ou méthode non géré par l'objet
 

Jacques87

XLDnaute Accro
Bonjour Angelo

Tu as intérêt à leur donner leur nom au moment de la création

Dim montexte As Control
Set montexte = UserForm1.Controls.Add('Forms.TextBox.1')
montexte.Left = 50
montexte.Top = 50
montexte.Width = 100
montexte.Height = 25
montexte.Name = 'toto'

PS: je t'ai envoyé un message perso dans ta BAL

Bonne journée
 

Discussions similaires

Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…