cs_Fabian123
Messages postés180Date d'inscriptionvendredi 18 janvier 2008StatutMembreDernière intervention22 novembre 2013
-
12 mars 2008 à 09:30
dimitriusai
Messages postés76Date d'inscriptionlundi 6 novembre 2006StatutMembreDernière intervention 7 mai 2009
-
12 mars 2008 à 14:26
Bonjour,
voici la situation: j'ai une feuille excel de trois colonnes:
colonne A : reférences d'articles (par exemple : 1111, 2222, 3333...)
Colonne B : Articles (pommes, poires...)
Colonne C: Prix
Dans un userForm, j'ai un textBox et une listbox de deux colonnes.
Je souhaiterais que l'utilisateur puisse entre la reference dans la textbox, puis, en appuyant sur la touche "enter" l'article et le prix s'affichent dans la listbox (il pourra entrer plusieurs fois la meme references, et donc avoir plusieurs fois le meme article dans la listbox.
j'ai fait ce code mais il plante quand je veux entrer une reference... il surligne la ligne de code 'call RefArticles'
quelqu'un pour m'aider?
merci d'avance!
Option Explicit
' remplir la listbox2 via la référence :
Private Sub RefArticles(ByVal pReference As String)
Dim i As Long
ListBox2.Clear
i = 0
Do While Range("A2").Offset(i, 0).Value <> ""
If Range("A2").Offset(i, 0).Value = pReference Then
ListBox2.AddItem
ListBox2.List(j, 0) = Range("C2").Offset(i, 0).Value
ListBox2.List(j, 1) = Format(CStr(Range("D2").Offset(i, 0).Value), "0.00")
j = j + 1
End If
i = i + 1
Loop
End Sub
Private Sub TextBox3_KeyDown(ByVal KeyCode As MSForms.ReturnInteger, ByVal Shift As Integer)
Dim ToucheCode As Long
ToucheCode = CLng(KeyCode) 'ici on recupere le code de la touche clavier
If ToucheCode = 13 Then
Call RefArticles
End If
ToucheCode = 0
End Sub
cs_MPi
Messages postés3877Date d'inscriptionmardi 19 mars 2002StatutMembreDernière intervention17 août 201823 12 mars 2008 à 11:24
Il te manque un paramètre (pReference) quand tu appelles ta fonction.
De plus, ça ne sert à rien d'utiliser une variable et de la forcer avec CLng.
KeyCode est déjà un Integer...
Private Sub TextBox3_KeyDown(ByVal KeyCode As MSForms.ReturnInteger, ByVal Shift As Integer)
If KeyCode = 13 Then Call RefArticles (ajouter le paramètre)
End Sub
Tu peux aussi changer le 13 par vbKeyReturn
MPi²
Pour ceux qui programment sous Office, n'oubliez pas qu'il existe un forum dédié à ces applications VBA....... ICI