Bonjour Sam,
Je vois que tu es toujours en plein dans tes Userforms... C'est passionnant hein ?
Tout dépend de ce que tu veux retourner dans tes textbox...
Disons qu'en utilisant l'évènement "click d'un Commandbouton (ou un click dans une listbox etc) on peut retourner facilement une valeur comme ceci :
Private Sub CommandButton1_Click()
TextBox1 = Sheets(1).Range("a1").Value
End Sub
Mais j'imagine que ton but n'est pas de reporter la valeur de la cellule "A1" mais plutôt la valeur de la derniere ligne saisie (ou remplie automatiquement par macro) donc dans ce cas là je ferais comme ceci :
Option Explicit
Private Sub CommandButton1_Click()
Dim Ligne As Integer
Ligne = Sheets(1).Range("A65536").End(xlUp).Row
TextBox1 = Sheets(1).Range("a" & Ligne).Value
End Sub
Mais en fait je bloquerais aussi la saisie dans cette textbox comme ceci :
Option Explicit
Private Sub CommandButton1_Click()
Dim Ligne As Integer
Ligne = Sheets(1).Range("A65536").End(xlUp).Row
TextBox1 = Sheets(1).Range("a" & Ligne).Value
TextBox1.Enabled = False
End Sub
Ou encore je n'utiliserais pas de Textbox mais plus des labels comme ceci
Option Explicit
Private Sub CommandButton1_Click()
Dim Ligne As Integer
Ligne = Sheets(1).Range("A65536").End(xlUp).Row
Label1 = Sheets(1).Range("a" & Ligne).Value
End Sub
En fait je ne spécifie pas de propriété pour TextBox ou Label car par défaut la propriété pour une TextBox est Value, et pour un Label c'est Caption
Donc pas la peine d'écrire :
TextBox1.value = Sheets(1).Range("a" & Ligne).Value
Label1.caption = Sheets(1).Range("a" & Ligne).Value
Dans le même d'ordre d'idée, sur la propriété par défaut on pourrait écrire (et qui marche dans cet exemple):
TextBox1 = Sheets(1).Range("a" & Ligne)
Label1 = Sheets(1).Range("a" & Ligne)
Mais Range, peut réserver des surprises, donc je préfére déclarer la propriété value...
Voilà Sam, un peu plus à fond dans les Userforms ...
Bon travail
@+Thierry