Afficher dans une TextBox en fonction d'une ListBox

Afficher dans une TextBox en fonction d'une ListBox - VB/VBA/VBS - Programmation

Marsh Posté le 08-04-2006 à 01:06:59    

Bonjour tout le monde,
 
Voilà j’ai un petit problème en VBA  :sleep:  (je débute)
 
Je dispose d’une base de données (il ne s’agit que de données textes)  sur une feuille Excel. Celle-ci est alimentée par une userform précédemment créée. (Pas de problèmes de ce côté là)  
 
Le truc, c’est que j’ai créé une deuxième userform pour lire les données contenues dans la base de données. Ce userform se compose d’une ListBox et de 2 TextBox.  
[size=2]La ListBox concerne les éléments contenus dans la colonne « C » et les textbox concernent respectivement les colonnes « D » et « E ».
[/size]L’idée est que lorsque l’utilisateur sélectionne un élément dans la Listbox, les données de la même ligne s’affichent dans les 2 textbox  
Le problème est que je n’arrive même pas à relier les données devant s’afficher dans les textbox en fonction de la donnée choisie dans la listbox (c’est cette donnée qui détermine la ligne)
 
Est-ce que c’est faisable ?  :heink:  ou mieux, est-ce que quelqu’un peut venir à mon secours, merci d’avance
 
Private Sub UserForm_Activate()
‘renseigne la listbox
[size=2]Dim produit As String
[/size][size=2]Sheets(\"BD_produit\" ).Select
[/size][size=2]produit = Range(\"C7\" ).End(xlDown).Address
[/size]ListBox1.RowSource = "C7:" & produit
ListBox1.ListIndex = 0
End Sub
 
Private Sub ListBox1_Change()
‘affiche textbox selon donnée de la listbox
[size=2]Sheets(\"BD_produit\" ).Select
[/size]  
[size=2]???  :ouch:  
[/size]  
[size=2]End Sub[/size]

Reply

Marsh Posté le 08-04-2006 à 01:06:59   

Reply

Marsh Posté le 08-04-2006 à 01:12:10    

OUPS!!!
 
ReBonjour tout le monde,
 
Voilà j’ai un petit problème en VBA (je débute)Je dispose d’une base de données (il ne s’agit que de données textes)  sur une feuille Excel. Celle-ci est alimentée par une userform précédemment créée. (Pas de problèmes de ce coté là)
 
 Le truc, c’est que j’ai créé une deuxième userform pour lire les données contenues dans la base de données. Ce userform se compose d’une ListBox et de 2 TextBox.  
 
La ListBox concerne les éléments contenus dans la colonne « C » et les textbox concernent respectivement les colonnes « D » et « E ».
L’idée est que lorsque l’utilisateur sélectionne un élément dans la Listbox, les données de la même ligne s’affichent dans les 2 textbox  
Le problème est que je n’arrive même pas à relier les données devant s’afficher dans les textbox en fonction de la donnée choisie dans la listbox (c’est cette donnée qui détermine la ligne)
 
Est-ce que c’est faisable ? ou mieux, est-ce que quelqu’un peut venir à mon secours, merci d’avance
 
Private Sub UserForm_Activate()
‘renseigne la listbox
Dim produit As String Sheets("BD_produit" ).Select  
produit = Range("C7" ).End(xlDown).Address  
ListBox1.RowSource = "C7:" & produit
ListBox1.ListIndex = 0  
End Sub  
 
Private Sub ListBox1_Change()
'affiche textbox selon donnée de la listbox  
Sheets("BD_produit" ).Select  
 
???  
 
End Sub

Reply

Marsh Posté le 08-04-2006 à 07:39:42    

Bonjour,
Il existe une relation  entre l'index de la listbox et la feuille de données. Listindex débutant à 0, la relation est de 7. Cela se traduit par :

Private Sub ListBox1_Change()
'affiche textbox selon donnée de la listbox
Sheets("BD_produit" ).Select
 
TextBox1.Value = Cells(ListBox1.ListIndex + 7, 4)
TextBox2.Value = Cells(ListBox1.ListIndex + 7, 5)
'ou
TextBox1.Value = Range("D" & ListBox1.ListIndex + 7)
TextBox2.Value = Range("E" & ListBox1.ListIndex + 7)
 
End Sub


Cordialement
Epéna

Reply

Marsh Posté le 08-04-2006 à 11:35:51    

Un grand Merci  
 
ça fonctionne ;-)

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed