Valeur dans TextBox par rapport à combobox

anim

XLDnaute Nouveau
Bonjour à toutes et à tous,

J'ai 3 colonnes la première avec le nom des personnes et la seconde avec leurs âges et la troisième avec leurs tailles cela donne ça:
A B C
Antoine 20 180
Jule 21 175
Aurelie 18 160
Momo 19 178

J'ai mi dans une combobox la colonne A et la colonne B
Lorsque je clic pour fair défilé ma combobox la colonne a et b s'affiche correctement mais lorsque je selectionne la ligne il n'y a que la colonne A qui est visible dans la combobox.

Ensuite, l'autre problème c'est que une fois le nom et l'age selectionner je voudrai que la taille s'affiche dans ma textbox. J'ai presque réussi mais il me manque pas grand chose alors merci pour votre coup de pouce !


Private Sub UserForm_Initialize()

Dim tbl As Variant
With Sheets("Etat_Stock")
Set plg = .Range("A1:B" & Sheets("Feuil1").Range("D65536").End(xlUp).Row)
tbl = plg
End With

With Me.bombobox
.ColumnCount = 2
.ColumnWidths = "125 pt;50 pt"
.List = tbl
End With

End Sub



Private Sub combobox_Change()

Dim dern_ligne As Integer
dern_ligne = Sheets("Feuil1").Range("D65536").End(xlUp).Row

For J = 3 To dern_ligne
If Cells(J, 1).Text = textbox.Value Then
textbox.Value = Sheets("Feuil1").Cells(J, 3).Value
End If
Next J


Merci pour votre aide
 

Gorfael

XLDnaute Barbatruc
Re : Valeur dans TextBox par rapport à combobox

Salut anim et le forum
Utilise les balises de code (icone # en mode avancé)
Pose tes questions clairement :
mais lorsque je selectionne la ligne il n'y a que la colonne A qui est visible dans la combobox.
C'est le principe de fonctionnement des combobox !
Ensuite, l'autre problème c'est que une fois le nom et l'age selectionner je voudrai que la taille s'affiche dans ma textbox. J'ai presque réussi mais il me manque pas grand chose alors merci pour votre coup de pouce !
Petit rappel : il n'y a ni télépathe ni devin sur ce site !
Code:
Private Sub combobox_Change()

Dim dern_ligne As Integer
dern_ligne = Sheets("Feuil1").Range("D65536").End(xlUp).Row

For J = 3 To dern_ligne
         If Cells(J, 1).Text = textbox.Value Then
                      textbox.Value = Sheets("Feuil1").Cells(J, 3).Value
              End If
Next J
La macro ne recèle pas d'erreur flagrante et comme je n'ai aucune information, je vais me contenter de critiquer :
- Déclarer une ligne en integer, c'est s'ouvrir la porte à des problèmes futurs => Il vaut mieux (selon moi), déclarer les lignes en Long
- Tu précises la feuille sur certaines instructions, mais pas sur toutes : cela me semble assez incohérent. Soit il n'y a pas besoin de préciser la feuille, puisqu'elle sera toujours active, et autant s'économiser, soit on risque d'avoir besoin de la préciser, et c'est pour toutes les instructions qu'on doit le faire.
-Tu testes et remplis la textbox de nom "textbox", alors que vraisemblablement, tu devrais tester sur une combobox et remplir une textbox. Mais sans infos, difficile de dire si c'est une erreur de recopie ou de raisonnement.
- "Cells(J, 1).Text" => "Cells(J, 1)" ou "Cells(J, 1).value" me semble préférable.
- S'il te semble nécessaire de visualiser Nom+age, pourquoi tu ne testes que sur le nom ?
A+
 
Dernière édition:

klin89

XLDnaute Accro
Re : Valeur dans TextBox par rapport à combobox

Bonjour à tous,
Bonjour Gorfael, jpb388, anim

Dans ce lien, il y a exactement ce que tu demandes :
Vois la rubrique suivante : ComboBox avec nom + prénom
Soit l'événement Initialize de l'Userform et Change de la Combobox

Les formulaires

A adapter à ton cas évidemment.
Klin89
 

Discussions similaires

Statistiques des forums

Discussions
314 628
Messages
2 111 325
Membres
111 102
dernier inscrit
driss touzi