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 30 31 32
| Public Sub recup_label()
Dim feuille As String
Dim LaForm As Object
Sheets("Feuil2").Activate
For Each LaForm In ThisWorkbook.VBProject.VBComponents
If LaForm.Type = 3 Then 'Permet de récupérer les noms
'des userforms du classeur actuel
MsgBox LaForm.Name 'pour vérifier que les noms
'de tous les userforms sont bien récupérés
End If
If LaForm.Type = 3 Then
With A1_01 ' A1_01 est le nom d'un userform particulier et ca marche
' si je change A1_01 par la variable LaForm (par exemple)
' pour afficher dans la feuille 2 les noms de tout les labels (et plus
' uniquement les la bels du userform A1_01),
' le compteur ci-dessous ne fonctionne pas !
For i = 0 To .Controls.Count - 1 ' là ca merde avec la variable LaForm
' mais ca fonction avec un userform clairement décrit
If Left(.Controls.Item(i).Name, 5) = "Label" Then
Cells(i, 1) = .Controls.Item(i).Name 'recup du nom
Cells(i, 2) = .Controls.Item(i).Caption 'recup du caption
End If
Next i
End With
End If
Next
End Sub |
Partager