ComboBox et TextBox
Le
JP

Bonjour,
J ai un UserForm dans lequel j ai mis :
- une ComboBox1 (dans laquelle je charge une liste de nom située feuil1 =
demarrant en cells(5,1)
- deux TextBox
Dans la première TextBox1 je voudrais faire apparaitre la specialite qui =
se trouve en colonne 2 de ma feuil1 en respectant le rang correspondant au =
nom selectionné dans la ComboBox1.
Je vous livre la macro que j ai faite et qui ne fonctionne pas. La liste se=
charge mais la TextBox1 reste vide.Du coup la textBox 2 n a pas ete travai=
llee.
Merci pour les conseils
JP
Private Sub UserForm_Initialize()
'calculer le nombre de Noms et prénoms en colonne A feuille BD_EDT (feuil=
1)
nb_noms = Sheets(1).Range("A6:A500").End(xlDown).Row
'Affecter les Noms Prénoms à la liste déroulante
For i = 5 To nb_noms 'liste nom à partir de la ligne 5
ComboBox1.AddItem Sheets(1).Cells(i, 1)
Next i
'TextBox1 = Clear
TextBox1.Value = Sheets(1).Cells(ComboBox1.ListIndex + 5, 2).Value 'Combo=
Box1.ListIndex + 5
End Sub
J ai un UserForm dans lequel j ai mis :
- une ComboBox1 (dans laquelle je charge une liste de nom située feuil1 =
demarrant en cells(5,1)
- deux TextBox
Dans la première TextBox1 je voudrais faire apparaitre la specialite qui =
se trouve en colonne 2 de ma feuil1 en respectant le rang correspondant au =
nom selectionné dans la ComboBox1.
Je vous livre la macro que j ai faite et qui ne fonctionne pas. La liste se=
charge mais la TextBox1 reste vide.Du coup la textBox 2 n a pas ete travai=
llee.
Merci pour les conseils
JP
Private Sub UserForm_Initialize()
'calculer le nombre de Noms et prénoms en colonne A feuille BD_EDT (feuil=
1)
nb_noms = Sheets(1).Range("A6:A500").End(xlDown).Row
'Affecter les Noms Prénoms à la liste déroulante
For i = 5 To nb_noms 'liste nom à partir de la ligne 5
ComboBox1.AddItem Sheets(1).Cells(i, 1)
Next i
'TextBox1 = Clear
TextBox1.Value = Sheets(1).Cells(ComboBox1.ListIndex + 5, 2).Value 'Combo=
Box1.ListIndex + 5
End Sub
la 1ere colonne = 0
la 2eme = 1
ListBox1.ListIndex est le numéro de la ligne sélectionnée du TextBox
TextBox1.Value= ListBox1.List(ListBox1.ListIndex, 1)
--
isabelle
Le 2012-11-05 12:15, JP a écrit :
Isabelle,
Désolé mais je n'y arrive pas.
En PJ le fichier pour plus de précisions.
Je n'ai pas compris pourquoi un listbox apparait :)dans ta proposition
Merci du coup de main
http://cjoint.com/?3KfvDXFjRIU
JP
Private Sub UserForm_Initialize()
'calculer le nombre de noms en colonne A feuille BD_EDT
nb_noms = Sheets(1).Range("A6:A500").End(xlDown).Row
'Affecter les professeurs à la liste déroulante
For i = 5 To nb_noms 'liste à partir de la ligne 6
ComboBox1.AddItem Sheets(1).Cells(i, 1)
Next i
ComboBox1.ListIndex = 0 ' sélectionne de la1ere valeur, si
ComboBox1.ListIndex = -1 c'est qu'il n'y a pas de valeur sélectionnée
TextBox1.Value = Application.Index(Sheets("BD_EDT").Range("B:B"),
Application.Match(ComboBox1.Value, Sheets("BD_EDT").Range("A:A"), 0))
End Sub
Private Sub ComboBox1_Change()
TextBox1.Value = Application.Index(Sheets("BD_EDT").Range("B:B"),
Application.Match(ComboBox1.Value, Sheets("BD_EDT").Range("A:A"), 0))
End Sub
--
isabelle
Le 2012-11-05 15:33, JP a écrit :
Désolé Isabelle mais ta proposition ne fonctionne pas.
En plus, je ne comprends pas tous les enchainements VBA.
Il aurait-il d'autres propositions?
Merci
JPierre
Le lundi 5 novembre 2012 18:15:48 UTC+1, JP a écrit :
Je viens d'avoir un peu de temps pour regarder.
En Fait,çà marche.
Je n'ai en fait pas le choix. J'ai le premier nom de la liste qui s'affiche dans la Combobox1.
J'ai mis :
'ComboBox1.ListIndex = -1
en remarque.
La macro fonctionne comme cela, avec le premier nom affiché.
Si tu as une idée, je suis tout de même preneur.
Merci
JP
Le lundi 5 novembre 2012 18:15:48 UTC+1, JP a écrit :