Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

ComboBox et TextBox

5 réponses
Avatar
JP
Bonjour,

J ai un UserForm dans lequel j ai mis :
- une ComboBox1 (dans laquelle je charge une liste de nom situ=E9e feuil1 =
demarrant en cells(5,1)
- deux TextBox=20
Dans la premi=E8re TextBox1 je voudrais faire apparaitre la specialite qui =
se trouve en colonne 2 de ma feuil1 en respectant le rang correspondant au =
nom selectionn=E9 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=E9noms en colonne A feuille BD_EDT (feuil=
1)
nb_noms =3D Sheets(1).Range("A6:A500").End(xlDown).Row
'Affecter les Noms Pr=E9noms =E0 la liste d=E9roulante
For i =3D 5 To nb_noms 'liste nom =E0 partir de la ligne 5
ComboBox1.AddItem Sheets(1).Cells(i, 1)
Next i
'TextBox1 =3D Clear
TextBox1.Value =3D Sheets(1).Cells(ComboBox1.ListIndex + 5, 2).Value 'Combo=
Box1.ListIndex + 5

End Sub

5 réponses

Avatar
isabelle
bonjour,

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 :
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 travaillee.

Merci pour les conseils

JP

Private Sub UserForm_Initialize()
'calculer le nombre de Noms et prénoms en colonne A feuille BD_EDT (feuil1)
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 'ComboBox1.ListIndex + 5

End Sub
Avatar
JP
Le lundi 5 novembre 2012 18:15:48 UTC+1, JP a écrit :
Bonjour,



J ai un UserForm dans lequel j ai mis :

- une ComboBox1 (dans laquelle je charge une liste de nom située feuil 1 demarrant en cells(5,1)

- deux TextBox

Dans la première TextBox1 je voudrais faire apparaitre la specialite qu i se trouve en colonne 2 de ma feuil1 en respectant le rang correspondant a u 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 trav aillee.



Merci pour les conseils



JP



Private Sub UserForm_Initialize()

'calculer le nombre de Noms et prénoms en colonne A feuille BD_EDT (feu il1)

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 'Com boBox1.ListIndex + 5



End Sub



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
Avatar
isabelle
meacoulpa,

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 :
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
Avatar
JP
Bonjour,

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 :
Bonjour,



J ai un UserForm dans lequel j ai mis :

- une ComboBox1 (dans laquelle je charge une liste de nom située feuil 1 demarrant en cells(5,1)

- deux TextBox

Dans la première TextBox1 je voudrais faire apparaitre la specialite qu i se trouve en colonne 2 de ma feuil1 en respectant le rang correspondant a u 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 trav aillee.



Merci pour les conseils



JP



Private Sub UserForm_Initialize()

'calculer le nombre de Noms et prénoms en colonne A feuille BD_EDT (feu il1)

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 'Com boBox1.ListIndex + 5



End Sub
Avatar
JP
Re Isabelle,

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 :
Bonjour,



J ai un UserForm dans lequel j ai mis :

- une ComboBox1 (dans laquelle je charge une liste de nom située feuil 1 demarrant en cells(5,1)

- deux TextBox

Dans la première TextBox1 je voudrais faire apparaitre la specialite qu i se trouve en colonne 2 de ma feuil1 en respectant le rang correspondant a u 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 trav aillee.



Merci pour les conseils



JP



Private Sub UserForm_Initialize()

'calculer le nombre de Noms et prénoms en colonne A feuille BD_EDT (feu il1)

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 'Com boBox1.ListIndex + 5



End Sub