Signaler

Creation dynamique d'un userform [Résolu]

Posez votre question GermPeru 98Messages postés mercredi 7 décembre 2016Date d'inscription 20 mai 2017 Dernière intervention - Dernière réponse le 7 févr. 2017 à 21:25 par GermPeru
Bonjour Forum,

Ma problematique actuelle est la creation d'un USF de maniere dynamique, cad que je voudrais lors de l´initialisation de mon USF qu'il charge directement des données de la premiere feuille de mon classeur dans des label.caption, le soucis est qu'il me manque certaines données pour la compréhension et donc pour la conception de mon USF. J´ai donc plein de questions:

Tout d'abord pour définir mes controles, quelle est la différence entre ces différentes expressions:
Dim LblBox1 As MSFORMS.Label
Dim LblBox2 As Control.Label
Dim LblBox3 As Label


Est ce qu'il y a une forme plus "correcte" qu' une autre ou sont elles equivalente?

A ce que j'ai compris il faut créer un module de classe; contenant les événements associé a mes label; pourquoi et quel est la difference entre un module de classe et un module "classique" (sans mauvais jeux de mots).

Public WithEvents label As MSForms.label


Le code que je suis en train de developper est:


Dim i As Integer
Dim Obj As Control

    For i = 2 To 4   'boucle pour la création des Label
      Set Obj = Me.Controls.Add("forms.Label.1")
      With Obj
          .Name = "TextBox" & i
          .Caption = Sheets(2).Range("J" & i)
          .Left = 12
          .Top = 30 * i + 10
          .Width = 50
          .Height = 20
      End With
next i


Ce qui ne fonctionne absolument pas.

Je suis prenneur de tout indice et information pouvant m´aider, un grand merci d'avance.
Afficher la suite 
Utile
+0
plus moins
Bonjour,

voilà une première approche:

https://excel.developpez.com/faq/index.php?page=Form#UsfDynamique
GermPeru 98Messages postés mercredi 7 décembre 2016Date d'inscription 20 mai 2017 Dernière intervention - 7 févr. 2017 à 17:26
Bonjour et merci pour le lien,

Je lávais deja consulté et il permet de créer l´USF et le code le composant au travers d´une fonction.

Pour ma part j´ai deja l'USF, je souhaiterais créer les label et textbox de maniere dynamique; pensez vous que je dois suivre une demarche similaire, cad au travers d' une fonction. Une fonction pour chaque objet de different type que je souhaite créer?

Beacoup de nouvelles notions et je ne sais pas vraiment par ou commencer

Merci de votre aide
Répondre
Donnez votre avis
Utile
+0
plus moins
Il faut changer le titre car il ne reflète pas ta demande:
Creer des controles dynamiques

Voir ceci pour ta demande

http://www.commentcamarche.net/faq/31279-vba-ajouter-des-controles-dynamiquement-dans-un-userform


cs_Le Pivert 4452Messages postés jeudi 13 septembre 2007Date d'inscription ContributeurStatut 19 mai 2017 Dernière intervention - 7 févr. 2017 à 20:04
Je me suis mis dans les même circonstances que toi et ça marche!

http://www.cjoint.com/c/GBhtdweIc8Q

@+
Répondre
GermPeru 98Messages postés mercredi 7 décembre 2016Date d'inscription 20 mai 2017 Dernière intervention - 7 févr. 2017 à 20:36
Comprends pas... cést le meme code et cela ne fonctionne pas, enfin pour moi, jái un pb de classe n´etant pas definit par l´utilisateur... un détail m´echappe et je ne saisi pas le quel... 1h que je regarde point par point et tout me semble identique et pourtant quelque chose ne lái pas!!!!

J´ai essayé d' arréter de m´arracher les cheuveux, j' ai copié en tout point ton code, je l' ai collé et cela m'affiche le meme msg d' erreur; a ta connaissance est ce qu'il n'y a pas un parametre sur les module de classe a configurer pour que cela fonctionne?
Répondre
cs_Le Pivert 4452Messages postés jeudi 13 septembre 2007Date d'inscription ContributeurStatut 19 mai 2017 Dernière intervention - 7 févr. 2017 à 20:42
il faut simplement que ton module de classe soit nommé: Classe1
Tu vas dans le ruban: Insertion - Module de classe et tu verifies qu'il se nomme bien Classe1
et avoir un module standard
@+
Répondre
GermPeru 98Messages postés mercredi 7 décembre 2016Date d'inscription 20 mai 2017 Dernière intervention - 7 févr. 2017 à 20:51
Avec tout le respect que j´ai pour toi et le temps quer tu y passes...


C'est bel et bien ce que j'ai fait mais cela ne fonctionne pas, je t'envoie mon fichier en tant que tel et si tu pouvais me dire ce que tu en penses...
Répondre
GermPeru 98Messages postés mercredi 7 décembre 2016Date d'inscription 20 mai 2017 Dernière intervention - 7 févr. 2017 à 21:25
Je viens de m'appercevoir de l'erreur, tu avais raison sur le nom de mon module de classe, car j' ai excel en espagnol et classe s'ecrit clase, avec un seul s... J´ai juste mis 8h a mén rendre compte...

Toute une journée pour ca, je pense que cést comme ca que lón progresse lorsque lón part de peu de connaissance en programation...

J'aurais tres certainement de nouvelles questions sur la creation dynamique de control, et je l'espere qui seront plus pertinentes

Un grand merci pour le temps passé a m´aider.
Répondre
Donnez votre avis

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes.

Le fait d'être membre vous permet d'avoir des options supplémentaires.

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !