revoie de données dans un text box

  • Initiateur de la discussion Initiateur de la discussion sam
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

S

sam

Guest
salut à tous, espère que vous avez passé un bon we,
petit problème pour petite application :

j'ai une plage de cellules qui se remplie automatiquement grace à une macro, je voudrais que le contenu de ces cellules apparaisse dans différents textbox appartenant à un userform (le but est de pouvoir observer les données) comment faire pour que les données contenue dans les cellules apparaisse dans le text box.
 
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
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD
Assurez vous de marquer un message comme solution pour une meilleure transparence.

Discussions similaires

Retour