[Catégorie modifiée .Net -> VBA] Liaison ComboBox => Multiples TextBox (Recherch

Golling Messages postés 2 Date d'inscription jeudi 26 mai 2011 Statut Membre Dernière intervention 27 mai 2011 - 26 mai 2011 à 11:39
Golling Messages postés 2 Date d'inscription jeudi 26 mai 2011 Statut Membre Dernière intervention 27 mai 2011 - 27 mai 2011 à 08:24
Bonjour à tous,

Tout d'abord veuillez m'excuser si je ne suis pas dans la bonne partie du forum. Mon manque d'expériences ne me permet pas actuellement de discerner ces parties.

Voici donc mon problème (fichier disponible au lien ci-dessous) :
http://www.cijoint.fr/cjlink.php?file=cj201105/cijjeCvaob.xls

J'ai créé un tableau comportant trois colonnes :
- Produit : Référence les produits
- Composition : Référence les composants nécessaires pour ce produit
- Quantité : Pourcentage du composant en question nécessaire

Vous l'aurez sûrement remarqué mais si plus d'un composant entre dans une fabrication, le nom du produit sera représenté plusieurs fois dans la colonne du même nom.

J'ai créé un formule comportant une ComboBox et 10 TextBox.

J'aimerai que lorsque je sélectionne le nom d'un produit dans la ComboBox, les composants s'inscrivent dans les TextBox prévues à cet effet :
TextBox1 = Composant 1
TextBox2 = Composant 2
...

L'ennui c'est que j'ai absolument aucune idée de comment faire une Vlookup avec des conditions multiples en VBA. Une normale oui, mais là...

J'ai écumé à peu près tous les forums depuis hier en vain...
J'expose donc mon problème en espérant avoir une aide concluante.

Merci d'avance.

2 réponses

givemecookies Messages postés 32 Date d'inscription mardi 27 octobre 2009 Statut Membre Dernière intervention 4 août 2011
27 mai 2011 à 00:43
hey,

Au lieu d'une VlookUp, essayes avec un .find sur le produit et ensuite un .findnext et .offset(0,1) et .offset(0,2) pour trouver les valeurs à mettre dans tes textbox.

Jennifer
0
Golling Messages postés 2 Date d'inscription jeudi 26 mai 2011 Statut Membre Dernière intervention 27 mai 2011
27 mai 2011 à 08:24
Merci beaucoup,

J'ai fait quelque chose dans ce genre-là :

Private Sub Combobox1_Change()

   L = Range("A:A").Find(ComboBox1, LookAt:=xWhole).Row
   C = Range("A:A").Find(ComboBox1, LookAt:=xWhole).Column
   'Relevé du N° de colonne et de ligne du produit en ComboBox1.

   For x = 1 To 5
      Controls("TextBox" & x) = ""
   Next
   'Nettoyage des TextBox après chaque changement de ComboBox

   For x = 1 To WorksheetFunction.CountIf(Sheets("Nomenclature").Range("A1:A20"), ComboBox1.Text)
      Controls("TextBox" & x) = Cells(L + x - 1, C + 2)
   Next
   'Remplissage des TextBox après chaque changement de ComboBox

   End Sub


Je les sens un peu instables ces lignes de code cependant, surtout celle avec CountIf. Je suis preneur d'éventuelles améliorations.
0
Rejoignez-nous