Voila mon probleme:
Dans un USF sous Excel j'ai cree deux ComboBox (ComboBox2 et ComboBox3) et une TextBox6.
Dans une Feuille Excel, j'ai un Tableau a double entree.
Voici mon tabelau:
Ang S SE/SW E/W
30° 49% 48% 46%
45° 49% 48% 45%
60° 48% 47% 44%
Je vais chercher les valeurs de mes ComboBox dans ce tableau. ComboBox2 vas chercher les donnees a la verticale (les degre) et ComboBox3 a l'horizontale (l'orientation).
Dans ma TextBox6 je voudrais faire apparaitre la valeur correspondant a la jonction de la valeur des 3 ComboBox.
Par exemple si je selectionne dans ma ComboBox2 45° et dans ma ComboBox3 SE/SW je voudrais que dans ma TextBox6 apparaisse 48%.
Je ne sais du tout ou placer le code et quel est-il. Je peux ajouter un bouton dans ma USF si besoin ou autre chose.
With Worksheets("Inputs")
Me.ComboBox2.List = .Range("D3:D" & .Range("D65536").End(xlUp).Row).Value
Me.ComboBox3.List = WorksheetFunction.Transpose(.Range("E2:G2").Value)
End With
et voilà ton code pour afficher dans tune textbox textbox1 :
Private Sub ComboBox2_Change()
dis_moi Worksheets("Inputs")
End Sub
Private Sub ComboBox3_Change()
dis_moi Worksheets("Inputs")
End Sub
Private Sub dis_moi(F As Worksheet)
If ComboBox2.ListIndex -1 Or ComboBox3.ListIndex -1 Then Exit Sub
TextBox1.Text = F.Cells(ComboBox2.ListIndex + 3, ComboBox3.ListIndex + 5).Value
End Sub
Cà, c'est avec ton exemple (lignes commençant en 3 et colonnes commençant en E) !
____________________
Réponse exacte ? => "REPONSE ACCEPTEE" pour faciliter les recherches d'autres forumeurs.
Pas d'aide en ligne intallée ? ==> ne comptez pas sur moi pour simplement vous dire ce qu'elle contient
Dans ma TextBox6 je voudrais faire apparaitre la valeur correspondant a la jonction de la valeur des 3 ComboBox.
2) comment alimentes-tu la combo combobox2 et la combo combobox3 ? manuellement ? ou autre (et comment) ?
____________________
Réponse exacte ? => "REPONSE ACCEPTEE" pour faciliter les recherches d'autres forumeurs.
Pas d'aide en ligne intallée ? ==> ne comptez pas sur moi pour simplement vous dire ce qu'elle contient
Desole pour l'erreur de frappe, j'ai bien 2 ComboBox.
voici mon code pour alimenter mes combo
With Worksheets("Inputs")
Me.ComboBox2.List = .Range("D3:D" & .Range("D65536").End(xlUp).Row).Value
End With
With Worksheets("Inputs")
Me.ComboBox3.AddItem (Sheets("Inputs").Range("E2").Value)
Me.ComboBox3.AddItem (Sheets("Inputs").Range("F2").Value)
Me.ComboBox3.AddItem (Sheets("Inputs").Range("G2").Value)
End With
J'ai alimente la ComboBox2 grace a une liste car comme vous pouvez le lire precedement , il s'agit des donnees a la verticale. Et j'ai alimente la ComboBox3 par AddItem car il s'agit des donnees a l'horizontale et que la je ne voyais pas comment faire autrement. C'est deux codes fonctionnent bien, reste plus qu'a remplir la Textbox.
Il faut que tu trouve l'événement "changment" de tes combobox. Un truc style "_QuandChangement".
Dans chaqu'un des événements tu mais un code qui récup. la ligne (Lettre) et la collone (Numérot) (je pense a find).
Tu fais une fonction qui sera appelle de puis les comboboxe qui prends en paramètre la ligne ou la cololne et qui affiche la valeur dans le TextBox6.
C'l'idéé grlobal que j'ai. Après y'a plus qu'à comme disait l'autre.
En utilisant la propriété ListIndex de tes Combobox, tu devrais pouvoir t'en sortir, non?
Sinon, pour améliorer ton code:
Puisque tu utilises l'instruction With, tu peux écrire ceci
With Worksheets("Inputs")
Me.ComboBox3.AddItem .Range("E2").Value
Me.ComboBox3.AddItem .Range("F2").Value)
Me.ComboBox3.AddItem .Range("G2").Value)
End With
C'est le tout premier pas. Le reste est vraiment simple, en utilisant tout simplement les index des articles choisis dans l'une et l'autre des deux combos !
____________________
Réponse exacte ? => "REPONSE ACCEPTEE" pour faciliter les recherches d'autres forumeurs.
Pas d'aide en ligne intallée ? ==> ne comptez pas sur moi pour simplement vous dire ce qu'elle contient
merci de vos reponses. Gerard ta soultion etait plus simplifiee que la mienne mais celle que ma propose ucfoutu est encore plus simplifie. Le seul probleme que je rencontre dans cette formule c'est qu'elle appel les cellules de la feuille active et donc quand je veux appeler les valeurs qui sont dans ma feuille "Inputs", soit en mettant Worksheet("Input") soit comme je suis dans le with sans mettre le nom de la feuille (pareil que pour la comboBox2), je me retrouve avec l'erreur 438.
Pour ma TextBox6, je vais comme vous me l'avez conseille, chercher du cote des index des articles ou du "find". Je vous retiens au courant de mon avance sur ce point.