VBA fonction VLookup sur TCD
Bonjour,
Sur ma feuille "SORTIE" un formulaire une combobox1 comprend un menu déroulant de produits, lorsqu'on a choisi celui-ci, différentes informations viennent se recopier dans les autres textbox du formulaire. Je bloque sur une textbox4 qui elle doit aller chercher une information dans un TCD sur une feuille "ETAT DU STOCK" qui organise les données de la feuille "STOCKS".
Je pense m'être planté dans la syntaxe de la fonction VLookup ; mais je ne suis pas certain non plus d'avoir convenablement donné un nom à mon TCD (normalement nommé TCD).
Private Sub Combobox1_Change()
ligne = Me.ComboBox1.ListIndex + 2
Me.TextBox5 = Sheets("STOCKS").Cells(ligne, 4)
Me.TextBox3 = Sheets("STOCKS").Cells(ligne, 3)
[b]Me.TextBox4.Value = Application.WorksheetFunction.VLookup(ComboBox1.Value, TCD, 2, FAUX)[/b]
Me.TextBox7 = Sheets("STOCKS").Cells(ligne, 7)
Me.TextBox6 = Sheets("STOCKS").Cells(ligne, 9)
Me.TextBox8 = Sheets("STOCKS").Cells(ligne, 11)
Me.TextBox9 = Sheets("STOCKS").Cells(ligne, 10)
Me.TextBox10 = Sheets("STOCKS").Cells(ligne, 12)
End SubEt pour nommer en TCD (pour les besoins de ma fonction VLookUp) mon TCD j'ai paramétré comme suit :
TCD fait référence à =DECALER(STOCKS!$A$1;;;NBVAL(STOCKS!$A:$A);NBVAL(STOCKS!$1:$1))
Sauriez-vous me dire où que je m'ai trompé ?
Bonjour,
Essaie ainsi :
Me.TextBox20 = Application.WorksheetFunction.VLookup(ComboBox1.Value, [TCD], 2, False)Oh ! Je m'aperçois au passage que comme un idiot après différents tests j'avais oublié de remettre en nom textbox4 au lieu de textbox20 et de virer ce qu'il y avait comme texte dedans, mes excuses.
ça marche du tonnerre, merci beaucoup Jean-Eric !
Edit : en contrôlant il y a un petit bémol.
Me.TextBox4 = Application.WorksheetFunction.VLookup(ComboBox1.Value, [TCD], 2, False)
Le TCD a pour fonction de faire la somme des lignes de même nom, de cumuler les quantités d'un même produit. Je m'attendais à ce que la formule ci-dessus me renvoie le nombre calculé figurant à la 2ème colonne du TCD, or je m'aperçois que non, sans que je comprenne pourquoi, il renvoie la quantité de la 1re ligne du produit, au lieu du total +/- auquel procède le TCD.
Pourtant la fonction est bonne : "Rechercher le produit énoncé dans la Combobox1 dans le TCD et renvoyer dans la textbox4 le nombre figurant dans la 2ème colonne du TCD [pas d'approximation]"...je ne vois pas ce qui cloche...