Imagebox et touche 'enter'?

Résolu
cs_Fabian123 Messages postés 180 Date d'inscription vendredi 18 janvier 2008 Statut Membre Dernière intervention 22 novembre 2013 - 21 mars 2008 à 08:56
cs_Fabian123 Messages postés 180 Date d'inscription vendredi 18 janvier 2008 Statut Membre Dernière intervention 22 novembre 2013 - 21 mars 2008 à 10:17
Bonjour à toutes et tous,

voilà, j'ai un formulaire dans lequel j'ai placé un textbox, une listbox et une image box.

lorsque j'entre une reference dans la textbox et que je clique sur enter, l'article correspondant à la référence s'affche dans la listbox.
Je souhaiterais, en plus, qu'au moment ou l'utilisateur appuye sur 'enter', que l'image du produit s'affiche egalement dans l'image box.
je vous laisse mon code ci-dessous, mais ça ne marche pas, je pense que le probleme vient du fait que je la charge à partir de la listbox et que cette dernière est encore vide au moment ou j'appuie sur 'enter'...
Quelqu'un à une idée de la façon dont je pourrais procéder pour que cela fonctionne?

Private Sub TextBox3_KeyDown(ByVal KeyCode As MSForms.ReturnInteger, ByVal Shift As Integer)
   
    If KeyCode = vbKeyReturn Then
Dim Recherche As Range
Set Recherche = Sheets("Listing des Articles").Columns("A").Find(CLng(TextBox3), LookIn:=xlValues, LookAt:=xlWhole)
If Not Recherche Is Nothing Then
ListBox1.AddItem
    ListBox1.List(ListBox1.ListCount - 1, 0) = Sheets("Listing des Articles").Range("C" & Recherche.Row)
    ListBox1.List(ListBox1.ListCount - 1, 1) = Sheets("Listing des Articles").Range("D" & Recherche.Row)
    Label4.Caption = Sheets("Listing des Articles").Range("D" & Recherche.Row)
    Label16.Caption = Sheets("Listing des Articles").Range("C" & Recherche.Row)
Else
    MsgBox "Le code n'a pas été trouvé, veuillez introduire le bon code"
End If
With ListBox1
    If Dir$("D:\Images" & .List(.ListIndex, 0) & ".jpg") = "" Then
         Set Image1.Picture = LoadPicture("D:\Images\default.jpg")
    Else
        Set Image1.Picture = LoadPicture("D:\Images" & .List(.ListIndex, 0) & ".jpg")
    End If
    End With
End Sub

5 réponses

jrivet Messages postés 7392 Date d'inscription mercredi 23 avril 2003 Statut Membre Dernière intervention 6 avril 2012 60
21 mars 2008 à 09:41
Salut,
Aller on va mettre un peu de couleur

Private Sub TextBox3_KeyDown(ByVal KeyCode As MSForms.ReturnInteger, ByVal Shift As Integer)
 
   If KeyCode = vbKeyReturn Then
       Dim Recherche As Range
       Set Recherche = Sheets("Listing des Articles").Columns("A").Find(CLng(TextBox3), LookIn:=xlValues, LookAt:=xlWhole)
       If Not Recherche Is Nothing Then
           ListBox1.AddItem
           ListBox1.List(ListBox1.ListCount - 1, 0) = Sheets("Listing des Articles").Range("C" & Recherche.Row)
           ListBox1.List(ListBox1.ListCount - 1, 1) = Sheets("Listing des Articles").Range("D" & Recherche.Row)
           Label4.Caption = Sheets("Listing des Articles").Range("D" & Recherche.Row)
           Label16.Caption = Sheets("Listing des Articles").Range("C" & Recherche.Row)
       Else
           MsgBox "Le code n'a pas été trouvé, veuillez introduire le bon code"
       End If
       With ListBox1
           If Dir$("D:\Images\" & .List(.ListIndex, 0) & ".jpg") = "" Then
               Set Image1.Picture = LoadPicture("D:\Images\default.jpg")
           Else
               Set Image1.Picture = LoadPicture("D:\Images\" & .List(.ListIndex, 0) & ".jpg")
           End If
       End With
   End If
End Sub , ----
[code.aspx?ID=41455 By Renfield]

POur ce qui est de ton problème,
- Que vaut .List(.ListIndex, 0) au moment du chargement des images?
- N'y a t il pas des espace en trop (qui viendrait des cellules)
- Ca ne marche pas ne veut rien pour nous, il faut expliquer: Erreur ou simplement rien ne se passe
- Si erreur quelle est elle.
@+: Ju£i?n
Pensez: Réponse acceptée
3
Renfield Messages postés 17287 Date d'inscription mercredi 2 janvier 2002 Statut Modérateur Dernière intervention 27 septembre 2021 74
21 mars 2008 à 09:48
pas d'element séléctionné dans ta ListBox...

après

ListBox1.AddItem
ListBox1.List(ListBox1.ListCount - 1, 0) = Sheets("Listing des Articles").Range("C" & Recherche.Row)
ListBox1.List(ListBox1.ListCount - 1, 1) = Sheets("Listing des Articles").Range("D" & Recherche.Row)
ajoutes:
ListBox1.ListIndex = ListBox1.ListCount -1
3
cs_Fabian123 Messages postés 180 Date d'inscription vendredi 18 janvier 2008 Statut Membre Dernière intervention 22 novembre 2013
21 mars 2008 à 10:13
salut!

d'abord, merci Julien pour avoir rendu le code plus clair avec des couleurs!

concernant le probleme, en fait, il ne plante pas, mais dès que je commence à encoder la référence dans la textbox il affiche l'image 'default.jpg' et il reste sur cette image quelle que soit l'article encodé.

J'ai bien vérifié concernant les espaces dans les cellules qui pourraient produire une erreur, mais non, les noms des cellules correspondent bien au noms des images.

Normalement, il devrait aficher l'image une fois que l'article est dans la listbox, hors ici il m'affiche l'image dès que je commence à encoder la référence...
0
jrivet Messages postés 7392 Date d'inscription mercredi 23 avril 2003 Statut Membre Dernière intervention 6 avril 2012 60
21 mars 2008 à 10:16
Re,
Alors c'est que ton code doit être un peu différent du mien
Vérifie donc bien que cette partie

With ListBox1
   If Dir$("D:\Images\" & .List(.ListIndex, 0) & ".jpg") = "" Then
       Set Image1.Picture = LoadPicture("D:\Images\default.jpg")
   Else
       Set Image1.Picture = LoadPicture("D:\Images\" & .List(.ListIndex, 0) & ".jpg")
   End If
End With
, ----
[code.aspx?ID=41455 By Renfield]

Soit bien contenue dans la condition If KeyCode = vbKeyReturn Then
@+: Ju£i?n
Pensez: Réponse acceptée
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
cs_Fabian123 Messages postés 180 Date d'inscription vendredi 18 janvier 2008 Statut Membre Dernière intervention 22 novembre 2013
21 mars 2008 à 10:17
Salut Renfield,

j'ai essayé ça fonctionne!!

Merci beaucoup à tous les deux pour votre aide!
0
Rejoignez-nous