Dim controle As Control
For each controle In me.Controls
if (InStr(1, controle.name, "TextBox") > 0) Then
control.Text = vbNullString
end if
next controle
Quoique je suis pas sûr que ca passe mieux : controle étant de type Contrôle, je pense que VBA va te faire un beau petit type incompatible...
A ce moment là :
Dim controle As Control
Dim texte As TextBox
For each controle In me.Controls
if (InStr(1, controle.name, "TextBox") > 0) Then
texte = controle
texte.Text = vbNullString
end if
next controle
Salut,
je ne sais pas si cela peu répondre au problème mais il y a ce snippet présent sur Coddyx
'Dans un Module
Public Sub EffaceTextBox(ByRef UForm As UserForm)
Dim Ctrl As Control
'Boucle pour tout les contrôle de UForm
For Each Ctrl In UForm.Controls
If TypeOf Ctrl Is MSForms.TextBox Then Ctrl.Value = VbNullString
Next
Set Ctrl = Nothing
End Sub
<hr style="width: 100%; height: 2px;" />
'N'importe ou dans un USerForm
Call EffaceTextBox(Me)
Mon code est-il bien, mauvais, utile, inutile? ><
C'est mon premier code xD
Je pense pas que ce soit si simple, sinon quelqu'un d'autre l'aurait posté avant moi mais bon...
Public Sub deltxtbox
Dim i as integer
i = 1
For i = 1 to 30
TextBox(i) = vbNullString
i = i + 1 'PAS LA PEINE : la boucle for fait l'incrémentation automatiquement ! Next
End Sub