Bonjour le Forum,
Je me dirige à nouveau vers vous pour un problème que je n'ai pas pu régler malgré les différents sujets discutés dans le forum.
Je vous expose le problème : dans un formulaire que je crée, l'utilisateur doit pouvoir ajouter à une table des informations qu'il sélectionne via un menu déroulant.
J'imaginais que la table se forme via un UserForm et donc, dès que l'utilisateur a fait son choix, il clique sur un bouton "Ajouter cette information" et un label supplémentaire s'ajoute aux labels précédemment créés. L'utilisateur doit pouvoir ajouter autant d'informations qu'il souhaite. J'avais donc imaginé un code du genre :
- Si label 1 (première information choisie) n'existe pas, alors créer label 1 (pour le positionnement du label et autres propriétés, pas de problèmes)
- Si label 1 existe, alors créer label 1 + 1 (label2) en dessous et ainsi de suite.
Pour vérifier l'existence des labels j'utilise label.caption = "".
Dans l'UserForm11 :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 Private Sub CommandButton4_Click() UserForm11.Show End Sub
Autre petit problème : s'il y a un grand nombre d'informations ajoutées, la liste des informations sera certainement plus grande que l'UserForm. Comment peut-on ajouter un scroll bar dans un UserForm (je connais bien sûr la propriété "ScrollsBar" mais ça ne fonctionne spécialement?!?)
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11 Private Sub UserForm_Initialize() Dim MyLb As Control For I = 1 To 100 Set MyLb = Me.Controls.Add("Forms.Label.1", "MyLb" & I) MyLb(I).Caption = "salut" If MyLb(I).Caption <> "" Then Set MyLb= Me.Controls.Add("Forms.Label.1", "MyLb" & I + 1) End If Exit For Next i End Sub
Merci à vous!
Guilty






Répondre avec citation
Partager