Bonjour,
Pour exemple, voici ce que j'ai mis, qui ne me renvoie pas les noms des TexBox
TypeName est une fonction VBA qui renvoie le type d'une variable et pas son nom donc il faut écrire
If TypeName(Ctrl) = "TextBox" Then MsgBox Ctrl.Object.Value
Voici un exemple simple qui j'espère vous éclairera sur ce que renvoie TypeName
Ce code affiche dans la fenêtre d'exécution (Ctrl+G), le nom et le (TypeName) de tous les contrôles du UserForm nommé mUsf_ImprovedDataValidation
Code
1 2 3 4 5 6
| Sub ReadControl()
Dim ctrl As Control
For Each ctrl In mUsf_ImprovedDataValidation.Controls
Debug.Print ctrl.Name & " (" & TypeName(ctrl) & ")"
Next
End Sub |
Résultat dans la fenêtre d'exécution
cmdOK (CommandButton)
cmdCancel (CommandButton)
lstSelection (ListBox)
chkDeleteRow (CheckBox)
lblSelectedRowEmpty (Label)
frmLookUpArea (Frame)
cboFindLabel (ComboBox)
txtFindValue (TextBox)
Label1 (Label)
TextBox1 (TextBox)
Label2 (Label)
TextBox2 (TextBox)
Illustration du UserForm
Partager