[VBA-E] affichage dynamique de la valeur d'un label
Je travaille actuellement sur un userform qui récupère les données d'un combobox situé dans un autre userform puis qui les affiche de manière dynamique dans un label (je souhaite que la taille du usform s'adapte au nombre de labels) avec différents checkbox à coté, voici le code :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29
| Private Sub UserForm_Initialize()
Dim haut As Integer, droite As Integer
Dim i As Integer, j As Integer
haut = 20
For i = 0 To (frmListeTri.lstEtat2.ListCount - 1)
Set titre = frmChoixEtat.Controls.Add("Forms.label.1")
titre.Left = 25
titre.Top = haut
titre.Width = 200
titre.Height = 25
frmListeTri.lstEtat2.Selected(i) = True
titre.Object.Caption = frmListeTri.lstEtat2.Value
titre.naMe = frmListeTri.lstEtat2.Value
droite = 255
For j = 1 To 4
Set bip = frmChoixEtat.Controls.Add("forms.checkbox.1")
bip.Left = droite
bip.Top = haut
bip.Width = 18
bip.Height = 18
bip.naMe = j & Chr(32) & frmListeTri.lstEtat2.Value
droite = droite + 75
Next
haut = haut + 20
Next
frmChoixEtat.Height = haut + 100
cmdInfoCoch.Top = haut + 25
End Sub |
mon programme fonctionnait très bien jusqu'à ce que je souhaite récupérer l'état de mes checkboxs en cliquant sur un bouton. J'ai rajouté ce code a la suite
Code:
1 2 3 4 5 6 7 8 9 10 11 12
| Private Sub cmdInfoCoch_Click()
Dim i As Integer, j As Integer
For i = 0 To (frmListeTri.lstEtat2.ListCount - 1)
frmListeTri.lstEtat2.Selected(i) = True
For j = 1 To 4
If Not ((frmChoixEtat.Controls(j + 3 + i * 5).Value) <> True) Then
MsgBox (j & Chr(32) & frmListeTri.lstEtat2.Value & " cochée")
End If
Next
Next
End Sub |
Depuis quand je relance mon programme mes labels ne se remplissent plus, puisque frmlistetri.lstEtat2.Value n'a pas l'air d'etre renseigné, chose que je n'arrive pas a comprendre, car il l'est bien dans le reste du programme.
Après avoir fait quelques tests, j'ai des doutes sur l'utilisation correcte de formChoixEtat.Controls(i).value...
Si vous avez besoin de plus de précisions n'hésitez pas.
Si quelqu'un pouvait éclairer ma lanterne... merci d'avance