Bonsoir Jazz, Tom, le Forum
Je passe vite fait, sans avoir d'ailleurs la possibilité de télécharger des fichiers depuis le bureau.
Cependant, en ce qui concerne la dénomination des Controls ActiveX, très importante et que Tom a raison de signaler, je me permets de faire une remarque en tant que développeur. En effet même si il semble "logique" de renommer tous les controls ActiveX d'un UserForm avec des noms "parlants" je déconseille de nommer "TextBox1" directement en "Prénom"... Mais plutôt d'utiliser des dénominations conventionnelles. (Exemple : TxbPrenom)
Ceci offre l'avantage d'avoir immédiatement en lecture du code une information claire et précise du type de control ActiveX dont il s'agit (Cbx = ComboBox, Lbx = ListBox, Cbx = Checkbox, etc etc)
Ensuite celà peut permettre de boucler facilement sur certain type de Controls. Par exemple si on veut vider d'un seul coup toutes les TextBox :
Imaginons que le UserForm les Texboxes se nomment toutes dans ce style :"TxbPrenom", "TxbNom", "TxbAdresse", "TxbTelephone"...
Private Sub CommandButton1_Click()
Dim CTRL As Control
For Each CTRL In Me.Controls
If Left(CTRL.Name, 3) = "Txb" Then CTRL.Value = ""
Next
End Sub
Enfin il y a plein d'utilisations quand on soigne particulièrement sa façon de nommer les Controls.
Les numéros dans les noms sont aussi parfois aussi très interressants à conserver si l'on souhaite incrémenter des données dans une série de textBoxes par une boucle
(imaginons 4 TextBox dans un UserForm nommée TextBox1 à TextBox4 ):
Private Sub CommandButton1_Click()
Dim Cell As Range
Dim X As Byte
Dim L As Integer
L = 2
X = 1
For Each Cell In Sheets(1).Range("A" & L & "
" & L)
With Me.Controls("Textbox" & X)
.Visible = True
.Value = Cell
X = X + 1
End With
Next
End Sub
Enfin ce ne sont que de petits exemples, mais les noms ont toute leur importance.
Bonne Soirée
@+Thierry