Private Sub CommandButton1_Click()
chosebidule Array(Me.Controls("textbox1"), Me.Controls("textbox2"))
End Sub
Function chosebidule(arr)
MsgBox arr(0).Name
End Function
re
Bonjour @mapomme oui j'aurais du précisé c'est dans un userform
tu me dira ta methode peut etre reproduit de la meme maniere dans le userform
j'aurais souhaité ne pas passer par l'intermediaire du remplissage du tableau
c'est juste pour savoir si c'est possible d'une maniere ou d'une autre
Sub test()
chosebidule Array("TextBox1", "TextBox2", "TextBox3", "TextBox4", "TextBox5")
End Sub
Function chosebidule(arr)
MsgBox Me.Controls(arr(0)).Name & vbLf & Me.Controls(arr(0)).Value, vbOKOnly + vbInformation
End Function
Private Sub CommandButton1_Click()
chosebidule Array(Me.Controls("textbox1"), Me.Controls("textbox2"))
End Sub
Function chosebidule(arr)
MsgBox arr(0).Name
End Function
re bonjour @Yeahou
oui de toute facon il faut passer en amont ou en aval par une reclassification de l'argument
@mapomme
là c'est intéressant dans le sens ou visiblement(je te fait confiance pour avoir tester ) le value par défaut n'est pas appliqué car l'object envoyé est un object control et comme l'object control n'a pas de propriété ".value" puisque ca peut être un control sans text meme si en lecture on peut le lire
rigolo non ?
étonnant ces petites divergences
merci a tous les deux pour cet éclairage
Bonsoir le Fil
Idem chez moi "sur 365, ça passe direct comme ça" !
VB:
Option Explicit
Option Base 1
Dim i As Byte
Private Sub CommandButton1_Click()
chosebidule Array(TextBox1, TextBox2, TextBox3)
End Sub
Function chosebidule(arr)
For i = 1 To UBound(arr)
MsgBox arr(i).Name & vbCrLf & arr(i).Value
Next
End Function
bonsoir à tous
intéressant sur 2007 ok mais 2013 c'est value par default
merci pour ces précieuses contributions je suis conforté dans mon idée d'utiliser la collection controls pour eviler les problèmes de versions