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 = "".

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
Private Sub CommandButton4_Click()
UserForm11.Show
End Sub
Dans l'UserForm11 :

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
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?!?)

Merci à vous!

Guilty